GUI编程(三)-----非容器组件

常用的非容器组件有:JLabel、JTextField、JPasswordField、JRadioButton、JCheckBox、JComboBox、JTextArea。

基本用法:

public static void main(String[] args) {
        JFrame frame= new JFrame("注册");
        frame.setSize(500, 400);
        frame.setLocationRelativeTo(null);
        
        //创建一个面板
        JPanel panel = new JPanel();
        frame.add(panel); 
        //用户名
        JLabel nameLabel = new JLabel("用户名");
        //用户名的输入框
        JTextField nameField = new JTextField(12);
        //把用户名的组件添加到面板上
        panel.add(nameLabel);
        panel.add(nameField);
        
        //密码
        JLabel passLabel= new JLabel("密码");
        //密码框
        JPasswordField passField = new JPasswordField(12);
        //把密码的组件添加到面板
        panel.add(passLabel);
        panel.add(passField);
        
        //性别--单选框
        JLabel sexLabel = new JLabel("性别");
        JRadioButton man = new JRadioButton("男",true);
        JRadioButton woman = new JRadioButton("女");
        //如果是单选框必须要进行分组,同一个组的单选框只能选择其中的一个
        ButtonGroup group = new ButtonGroup();
        group.add(woman);
        group.add(man);
        //把性别组件添加到面板上
        panel.add(sexLabel);
        panel.add(man);
        panel.add(woman);
        
        //来自城市--->下拉框
        JLabel cityLabel = new JLabel("来自的城市");
        Object[]  arr = {"北京","上海","广州","深圳","湛江"};
        JComboBox citys = new JComboBox(arr);
        panel.add(cityLabel);
        panel.add(citys);
        
        //兴趣爱好---->复选框
        JLabel hobitLabel = new JLabel("兴趣爱好:");
        JCheckBox checkBox1 = new JCheckBox("篮球",true);
        JCheckBox checkBox2 = new JCheckBox("java",true);
        JCheckBox checkBox3 = new JCheckBox("javascript");
        JCheckBox checkBox4 = new JCheckBox("android");
        panel.add(hobitLabel);
        panel.add(checkBox1);
        panel.add(checkBox2);
        panel.add(checkBox3);
        panel.add(checkBox4);
        
        
        //个人简介
        JLabel jLabel = new JLabel("个人简介");
        JTextArea area = new JTextArea(20, 15);
        area.setLineWrap(true); //设置自动换行 
        panel.add(jLabel);
        panel.add(area);
        frame.setVisible(true);
}

菜单组件

菜单组件是用来描述一个菜单的。主要用到的组件有JMenuBar、JMenu、JMenuItem

用法如下:

 1 public class Demo2 {
 2     
 3     JFrame frame = new JFrame("记事本");
 4     
 5     //菜单条
 6     JMenuBar bar = new JMenuBar();
 7     
 8     //文件菜单
 9     JMenu fileMenu = new JMenu("文件");
10     JMenu editMenu  = new JMenu("编辑");
11     
12     JMenu switchMenu = new JMenu("切换工作目录");
13     
14     
15     //菜单项
16     JMenuItem openMenu = new JMenuItem("打开");
17     JMenuItem saveMenu = new JMenuItem("保存");
18  
19     JMenuItem aboutMenu = new JMenuItem("关于");
20     JMenuItem closeMenu = new JMenuItem("关闭");
21     
22     
23     JMenuItem  workMenu1 = new JMenuItem("0910project");
24     JMenuItem  workMenu2 = new JMenuItem("1208project");
25     JMenuItem  workMenu3 = new JMenuItem("1110project");
26     
27     
28     
29     JTextArea area = new JTextArea(20,30);
30     
31     public void initNotepad(){
32         //菜单添加菜单项目
33         fileMenu.add(openMenu);
34         fileMenu.add(saveMenu);
35         
36         editMenu.add(aboutMenu);
37         editMenu.add(closeMenu);
38         
39         //复选菜单
40         switchMenu.add(workMenu1);
41         switchMenu.add(workMenu2);
42         switchMenu.add(workMenu3);
43         //菜单添加菜单就是复选菜单
44         fileMenu.add(switchMenu);
45         
46         
47         
48         //菜单条添加菜单
49         bar.add(fileMenu);
50         bar.add(editMenu);
51         
52         //添加菜单条
53         frame.add(bar,BorderLayout.NORTH);
54         frame.add(area);
55         frame.setSize(500, 400);
56         frame.setLocationRelativeTo(null);
57         frame.setVisible(true);
58     }
59     
60     public static void main(String[] args) {
61         new Demo2().initNotepad();
62     }
63 }
原文地址:https://www.cnblogs.com/nicker/p/6268889.html