Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java swing漂亮界面框架

作者:__龙泉丶聂风   发布日期:2025-08-06   浏览:95

import javax.swing.*;
import java.awt.*;

public class BeautifulSwingFrame extends JFrame {
    public BeautifulSwingFrame() {
        // 设置窗口标题
        setTitle("漂亮界面框架");
        // 设置窗口大小
        setSize(800, 600);
        // 设置窗口关闭操作
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // 设置窗口布局为BorderLayout
        setLayout(new BorderLayout());

        // 创建顶部面板
        JPanel topPanel = new JPanel();
        topPanel.setBackground(Color.LIGHT_GRAY);
        JLabel titleLabel = new JLabel("欢迎使用漂亮界面框架", SwingConstants.CENTER);
        titleLabel.setFont(new Font("Serif", Font.BOLD, 24));
        topPanel.add(titleLabel);
        add(topPanel, BorderLayout.NORTH);

        // 创建左侧菜单面板
        JList<String> menuList = new JList<>(new String[]{"选项1", "选项2", "选项3"});
        menuList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        menuList.setVisibleRowCount(5);
        menuList.setFont(new Font("Serif", Font.PLAIN, 18));
        JScrollPane menuScrollPane = new JScrollPane(menuList);
        add(menuScrollPane, BorderLayout.WEST);

        // 创建内容面板
        JTextArea contentArea = new JTextArea();
        contentArea.setEditable(false);
        contentArea.setFont(new Font("Serif", Font.PLAIN, 16));
        contentArea.setText("这是一个漂亮的Java Swing界面框架示例。\n" +
                            "你可以在这里添加更多的组件和功能。");
        JScrollPane contentScrollPane = new JScrollPane(contentArea);
        add(contentScrollPane, BorderLayout.CENTER);

        // 创建底部状态栏
        JPanel bottomPanel = new JPanel();
        bottomPanel.setBackground(Color.LIGHT_GRAY);
        JLabel statusLabel = new JLabel("状态: 就绪", SwingConstants.CENTER);
        statusLabel.setFont(new Font("Serif", Font.PLAIN, 14));
        bottomPanel.add(statusLabel);
        add(bottomPanel, BorderLayout.SOUTH);
    }

    public static void main(String[] args) {
        // 使用EventQueue确保Swing组件在事件调度线程中创建和更新
        EventQueue.invokeLater(() -> {
            BeautifulSwingFrame frame = new BeautifulSwingFrame();
            frame.setVisible(true);
        });
    }
}

解释说明

  1. 窗口设置

    • setTitle:设置窗口标题。
    • setSize:设置窗口大小。
    • setDefaultCloseOperation:设置窗口关闭时的操作,这里选择关闭程序。
    • setLayout:设置窗口的布局管理器为BorderLayout,这是一种常见的布局方式,可以方便地将组件放置在窗口的五个区域(北、南、东、西、中)。
  2. 顶部面板

    • 使用JPanel创建一个顶部面板,并设置背景颜色。
    • 添加一个JLabel用于显示标题,并设置字体样式和居中对齐。
    • 将顶部面板添加到窗口的北部区域。
  3. 左侧菜单面板

    • 使用JList创建一个菜单列表,并设置选择模式和可见行数。
    • 使用JScrollPane包裹JList,以便当菜单项过多时可以滚动查看。
    • 将菜单面板添加到窗口的西部区域。
  4. 内容面板

    • 使用JTextArea创建一个文本区域,用于显示内容。
    • 设置文本区域不可编辑,并添加一些初始文本。
    • 使用JScrollPane包裹JTextArea,以便当内容过多时可以滚动查看。
    • 将内容面板添加到窗口的中部区域。
  5. 底部状态栏

    • 使用JPanel创建一个底部面板,并设置背景颜色。
    • 添加一个JLabel用于显示状态信息,并设置字体样式和居中对齐。
    • 将底部面板添加到窗口的南部区域。
  6. 主方法

    • 使用EventQueue.invokeLater确保Swing组件在事件调度线程中创建和更新,这是Swing编程的最佳实践。
    • 创建并显示窗口实例。

上一篇:java 生成uuid

下一篇:java list转字符串

大家都在看

java连接数据库的代码

ubuntu 卸载java

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java实体类转json字符串

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站