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 }