界面基础

Introduction

Swing 是 Java 平台的 UI:它充当处理用户和计算机之间全部交互的软件。它实际上充当用户和计算机内部之间的中间人。Swing 到底是如何做这项工作的呢?它提供了处理前面一节中描述的 UI 各方面内容的机制:

  • 键盘:Swing 提供了捕捉用户输入的方法。
  • 颜色:Swing 提供改变在屏幕上看到的颜色的方法。
  • 打字的地址栏:Swing 提供了文本组件,处理所有普通任务。
  • 音量:Swing 不太擅长。

无论如何,Swing 为您提供了创建自己的 UI 所需要的所有工具

Quick Start

Container

JFrame

JFrame frame = new JFrame();
对于JFrame,在界面初始化完成时,加入以下代码:
//设置标题。
frame.setTitle("Your title");
// JFrame关闭后退出。
frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
// JFrame可见。
frame.setVisible(true);
//设置JFrame的长和宽。
frame.setSize(800, 400);
// 设置JFrame是否可以改变大小。
frame.setResizable(false);
// JFrame打开后居中。
private Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
/** 屏幕宽度 */
private int screenWidth = screenSize.width;
/** 屏幕高度 */
private int screenHeight = screenSize.height;
jFrame.setLocation((screenWidth - FRAME_WIDTH) / 2, (screenHeight - FRAME_HEIGHT) / 2);

JPanel

Attribute

Size

JButton 在 FlowLayout、BorderLayout 等一些布局中使用 setSize()设置大小没效果,可以使用 setPreferredSize 方法进行设置,例如:

public static void main(String[] args) {
  JFrame frame = new JFrame();
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setLayout(new FlowLayout());
  JButton button = new JButton("测试按钮");
  Dimension preferredSize = new Dimension(300,100);//设置尺寸
  button.setPreferredSize(preferredSize );
  frame.add(button);
  frame.setBounds(0,0, 400, 300);
  frame.setVisible(true);
 }

##  Font

Font font = new Font("宋体",Font.PLAIN,12);
        UIManager.put("Button.font", font);
        UIManager.put("CheckBox.font", font);
        UIManager.put("CheckBoxMenuItem.acceleratorFont", font);
        UIManager.put("CheckBoxMenuItem.font", font);
        UIManager.put("ColorChooser.font", font);
        UIManager.put("ComboBox.font", font);
        UIManager.put("DesktopIcon.font", font);
        UIManager.put("EditorPane.font", font);
        UIManager.put("FormattedTextField.font", font);
        UIManager.put("InternalFrame.titleFont", font);
        UIManager.put("Label.font", font);
        UIManager.put("List.font", font);
        UIManager.put("Menu.acceleratorFont", font);
        UIManager.put("Menu.font", font);
        UIManager.put("MenuBar.font", font);
        UIManager.put("MenuItem.acceleratorFont", font);
        UIManager.put("MenuItem.font", font);
        UIManager.put("OptionPane.font", font);
        UIManager.put("Panel.font", font);
        UIManager.put("PasswordField.font", font);
        UIManager.put("PopupMenu.font", font);
        UIManager.put("ProgressBar.font", font);
        UIManager.put("RadioButton.font", font);
        UIManager.put("RadioButtonMenuItem.acceleratorFont", font);
        UIManager.put("RadioButtonMenuItem.font", font);
        UIManager.put("ScrollPane.font", font);
        UIManager.put("Spinner.font", font);
        UIManager.put("TabbedPane.font", font);
        UIManager.put("Table.font", font);
        UIManager.put("TableHeader.font", font);
        UIManager.put("TextArea.font", font);
        UIManager.put("TextField.font", font);
        UIManager.put("TextPane.font", font);
        UIManager.put("TitledBorder.font", font);
        UIManager.put("ToggleButton.font", font);
        UIManager.put("ToolBar.font", font);
        UIManager.put("ToolTip.font", font);
        UIManager.put("Tree.font", font);
        UIManager.put("Viewport.font", font);

Position

SetBounds

Layout

常用布局列表
常用布局列表
各顶层组件默认布局
各顶层组件默认布局

Event/Action

Mouse

Click

上一页