Java Swing 图形用户界面——常见组件

一直在用C\C++,还没开始认真学Java,但这几天课堂上的Java Swing 图形用户界面引起了我的兴趣。正好前段时间在玩Qt的图形化界面,发现两者有很多相似之处,学起来也容易很多。(但实际上JavaSwing的各种事件特别复杂,名字也特别多,怪不得老师说JavaSwing实际开发用的很少)

效果图:
Java Swing 图形用户界面——常见组件_第1张图片


具体用法见代码:
Test.java

public class Test {
    public static void main(String args[]) {
        ComponentInWindow win = new ComponentInWindow();
        win.setBounds(100, 100, 500, 200);
        win.setTitle("常见组件");
    }
}

ComponentInWindow.java

import java.awt.FlowLayout;

import javax.swing.*;

public class ComponentInWindow extends JFrame{
    JTextField text;    //文本框
    JButton button;
    JCheckBox checkBox1, checkBox2, checkBox3;  //选择框
    JRadioButton radio1, radio2;    //单选按钮
    ButtonGroup group;
    JComboBox comBox;   //下拉列表
    JTextArea area; //文本区

    public ComponentInWindow() {
        init();
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    void init() {
        setLayout(new FlowLayout());    //流水式布局
        add(new JLabel("文本框")); //添加标签
        text = new JTextField(10);
        add(text);
        add(new JLabel("按钮:"));
        button = new JButton("确定");
        add(button);
        add(new JLabel("选择框"));
        checkBox1 = new JCheckBox("音乐");
        checkBox2 = new JCheckBox("文学");
        checkBox3 = new JCheckBox("游泳");
        add(checkBox1);
        add(checkBox2);
        add(checkBox3);
        add(new JLabel("单选按钮:"));
        group = new ButtonGroup();  //单选按钮所在的组
        radio1 = new JRadioButton("理科");    //创建单选按钮,右面的文本是“理科”
        radio2 = new JRadioButton("文科");
        group.add(radio1);      
        group.add(radio2);
        add(radio1);
        add(radio2);
        add(new JLabel("下拉列表:"));
        comBox = new JComboBox();   //创建下拉列表
        comBox.addItem("一季度");
        comBox.addItem("二季度");
        comBox.addItem("三季度");
        comBox.addItem("四季度");
        add(comBox);
        add(new JLabel("文本区:"));
        area = new JTextArea(6, 12);
        add(new JScrollPane(area));  //添加带有滚动条件的文本区     
    }
}

你可能感兴趣的:(Java)