JAVA简明摘要(十三)运用Swing(Swing)

1 Swing的组件

组件(component,或称元件)是比我们之前称为widget更为正确的术语。 从技术上来说,widget是个Swing的组件,几乎所有的GUI组件都来自于java.swing.JComponent。 几乎所有组件都能安置其他的组件。 创建GUI的四个步骤: 1.创建window(JFrame) 2.创建组件 3.把组件加到frame上 4.显示出来

frame 框架 panel 面板

2 布局管理器(Layout Managers)

布局管理器是个与特定组件相关联的Java对象,它大多数是背景组件。 布局管理器用来控制所关联组件上携带的其他组件。 如果某个框架带有面板,而面板带有按钮,则面板的布局管理器控制着按钮的大小和位置,框架的布局管理器控制着面板的大小和位置。按钮没有携带其他组件,不需要布局管理器。

3 三大布局管理器

BorderLayout

这个管理器会把背景分为5个区域,每个区域只能放上一个组件。 是框架默认的布局管理器。 东西宽度可以自己决定,南北高度可以自己决定,中间只能捡剩下的。 南北会最先占位,东西其次,中间最后。

FlowLayout

和文字处理程序差不多,每个组件会依照理想的大小呈现,从左到右依次加入,放不下时会换行。 是面板默认的布局管理器。

BoxLayout

和FlowLayout一样会让每个组件使用默认的大小,并且按照加入的顺序来排列。但BoxLayout是以垂直的方向来排列,也不会自动换行,需要插入某种类似于换行的机制来强制换行。

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

public class Panel1 {
          
   
    public static void main (String[] args) {
          
   
        Panel1 gui = new Panel1();
        gui.go();
    }

    public void go() {
          
   
        JFrame frame = new JFrame();
        JPanel panel = new JPanel();
        panel.setBackground(Color.darkGray);

        //把布局管理器换掉,其构造函数需要知道管理哪个组件以及使用哪个轴
        panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));

        JButton button = new JButton("Click Me Quickly Baby");
        JButton buttonTwo = new JButton("Click Me");

        panel.add(button);
        panel.add(buttonTwo);

        frame.getContentPane().add(BorderLayout.EAST, panel);
        frame.setSize(250,200);
        frame.setVisible(true);
    }
}

4 操作Swing组件

JTextField

单行输入文本框

JTextArea

多行输入文本框

JCheckBox

复选框

Jlist

下拉框

经验分享 程序员 微信小程序 职场和发展