zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    (四十九)Quartz2D自定义控件
    (四十八)Quartz2D引擎进阶
    (四十七)Quartz2D引擎初步
    (四十六)内存管理的复习
    (四十五)Modal 模态窗口 -遮盖
    (四十四)TabBarController和NagivationController配合
    (四十三)UITabBarController和AppDelegate的一些细节
    (四十二)tableView的滑动编辑和刷新 -局部刷新和删除刷新 -待解决问题
    linux命令——svn分支创建、合并
    C++异常处理
  • 原文地址:https://www.cnblogs.com/nicker/p/6268889.html
Copyright © 2011-2022 走看看