• 5.Java-GUI常见组件


     面板(Panel)

    面板也是一个容器的组件,可以在上面添加

    注意:面板不能单独使用,必须在顶层窗口中使用。

     常见组件

    一些常用的组件例如:

    JLabel,

    JButton ,

    JTextField

    JPassworldField

    JRadioButton

    JCheckBox

    JTextArea

    JList

    JMenuBar

    JMenu

    JMenultem

    Button按钮

    Java中的Swing提供了常规按钮,单选按钮,复选按钮和菜单按钮

    JButtion普通按钮

    按钮Button是点击时触发动作事件的组件.

    JRadioButton单选按钮

    单选按钮,可以让用户从一组选项中选择一个单一条目.例如性别.

    使用单选按钮时注意将,单选按钮放在一组,需要使用java.swing.ButtonGroup. 的add方法,添加到一个组中,位于同一个组的单选按钮就是互斥的. 如果没有将单选按钮放在一个组中,就是独立的..我们让然需要把按钮添加在容器中.因为ButtonGroup添加到容器中..

    JCheckBox复选框

    多选

    JLabel标签

    JTextField文本域

    JTextArea文本区域

    JComboBox组合框

     JList 列表框

    例如: String[] data = { "one", "two", "three" };

          JList list = new JList(data);

          p1.add(list);

    JmenuBar菜单条

    JMenu菜单

    JMenultem菜单项

    菜单条(MenuBar)中包含菜单(Menu),菜单中中包含菜单项(MenuItem)

    注意添加的顺序。例如:记事本的菜单条中包含文件、编辑、格式、查看、帮助菜单。其中文件菜单中包含新建、打开、保存、另存为等菜单项

    案例综合。

    public class CommonComponent extends JFrame {
        public CommonComponent() {
    
            // 面板
            JPanel p1 = new JPanel();
            add(p1);
    
            // 标签
            JLabel name = new JLabel("用户名:");
            p1.add(name);
    
            // 文本域
            JTextField field = new JTextField(8);
            p1.add(field);
    
            // 标签
            JLabel passwd = new JLabel("密码");
            p1.add(passwd);
            // 密码域
            JPasswordField pass = new JPasswordField(8);
            p1.add(pass);
    
            // 单选按钮
            JLabel gender = new JLabel("性别");
            p1.add(gender);
            JRadioButton male = new JRadioButton("男");
            JRadioButton female = new JRadioButton("女");
            // 单选按钮组,同一个单选按钮组的互斥.
            ButtonGroup group = new ButtonGroup();
            group.add(male);
            group.add(female);
            // 注意,单选按钮组不能添加进容器
            p1.add(male);
            p1.add(female);
    
            // 复选框
            JLabel like = new JLabel("爱好:");
            p1.add(like);
            JCheckBox eat = new JCheckBox("吃饭");
            JCheckBox movie = new JCheckBox("看电影");
            JCheckBox sleep = new JCheckBox("睡觉");
            p1.add(eat);
            p1.add(movie);
            p1.add(sleep);
    
            // 文本域
            JLabel info = new JLabel("个人简介");
            p1.add(info);
            JTextArea area = new JTextArea(20, 20);
            p1.add(area);
    
            // 列表
            String[] data = { "one", "two", "three" };
            JList list = new JList(data);
            p1.add(list);
    
            // 普通按钮
            JButton button = new JButton("注册");
            p1.add(button);
    
            // 菜单条
            JMenuBar bar = new JMenuBar();
            // 菜单
            JMenu menu = new JMenu("文件");
            // 菜单选项
            JMenuItem myNew = new JMenuItem("新建");
            JMenuItem myOpen = new JMenuItem("打开");
            bar.add(menu);
            menu.add(myNew);
            menu.add(myOpen);
            add(bar, BorderLayout.NORTH);
    
        }
    
        public static void main(String[] args) {
            CommonComponent frame = new CommonComponent();
            frame.setTitle("常用组件");
            frame.setSize(400, 400);
            frame.setLocationRelativeTo(null);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            // 自适应
            frame.pack();
            frame.setVisible(true);
        }
    }

    样式如下:

    因为面板默认是流式布局

       

    author@nohert
  • 相关阅读:
    java学习day28-jQuery(常用)
    在博客园上添加bilibili视频
    参数传递 实参
    linux 下office软件推荐
    桥后总结 二
    go基础笔记-包
    Linux:Day24(上)
    Linux:Day23(下) vsftpd
    Linux:Day23(上) MariaDB SQL语句
    Linux:Day22(下) php及mysql使用基础
  • 原文地址:https://www.cnblogs.com/gzgBlog/p/13670731.html
Copyright © 2020-2023  润新知