首页 > 文章列表 > Java GUI: 如何使用菜单栏、文本、密码及文本域组件?

Java GUI: 如何使用菜单栏、文本、密码及文本域组件?

java gui
260 2023-05-07

JavaGUI菜单栏、文本、密码及文本域组件如何使用

    1.菜单栏

    1.一级菜单栏

    • 创建菜单条 JMenuBar

    • 创建菜单 JMenu

    • 创建菜单项 JMenuItem

    总结:菜单项依附菜单、菜单依附菜单条

    • 创建菜单栏

    • 创建菜单

    • 创建菜单项

    • 菜单添加一个菜单项

    • 菜单栏添加菜单

    示例:

    import javax.swing.*;
    
    import java.awt.*;
    
    public class Jmenu {
    
        public static void main(String[] args){
    
            JFrame jf=new JFrame("JMenu");
    
            jf.setBounds(400,300,400,200);
    
            jf.setLayout(new FlowLayout(FlowLayout.CENTER));
    
            JMenuBar bar=new JMenuBar();
    
            JMenu menu=new JMenu("菜单一");
    
            JMenuItem item=new JMenuItem("选项1");
    
            JMenuItem item2=new JMenuItem("选项2");
    
            JMenuItem item3=new JMenuItem("选项3");
    
            menu.add(item);
    
            menu.add(item2);
    
            menu.add(item3);
    
            bar.add(menu);
    
            jf.add(bar);
    
            jf.setVisible(true);
    
            jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
        }
    
    }

    2.多级菜单栏

    • 创建菜单栏

    • 创建多个菜单

    • 创建多个菜单项

    • 菜单添加多个菜单项

    • 菜单栏添加菜单

    import javax.swing.*;
    
    import java.awt.*;
    
    public class Jmenu {
    
        public static void main(String[] args){
    
            JFrame jf=new JFrame("JMenu");
    
            jf.setBounds(400,300,400,200);
    
            jf.setLayout(new FlowLayout(FlowLayout.CENTER));
    
            JMenuBar bar=new JMenuBar();
    
            JMenu menu=new JMenu("菜单一");
    
            JMenu menu2=new JMenu("菜单二");
    
            JMenu menu3=new JMenu("菜单三");
    
            JMenuItem item=new JMenuItem("选项1");
    
            JMenuItem item2=new JMenuItem("选项2");
    
            JMenuItem item3=new JMenuItem("选项3");
    
            JMenuItem item4=new JMenuItem("选项4");
    
            JMenuItem item5=new JMenuItem("选项5");
    
            JMenuItem item6=new JMenuItem("选项6");
    
            menu.add(item);
    
            menu.add(item2);
    
            menu.add(item3);
    
            menu2.add(item4);
    
            menu3.add(item5);
    
            menu3.add(item6);
    
            bar.add(menu);
    
            bar.add(menu2);
    
            bar.add(menu3);
    
            jf.add(bar);
    
            jf.setVisible(true);
    
            jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
        }
    
    }

    示例:

    2.文本

    类:JTextField

    构造函数:

    new JTextField();

    new JTextField(String text);//指定默认文字

    new JTextField(int fieldWidth);//指定文本框长

    new JTextField(String text,int fieldWidth);//指定默认文字+指定文本框长度

    new JTextField(Documented docModel,String text, int fieldWidth);//指定文本框模式+指定默认文字+指定文本框长度

    示例:

    import javax.swing.*;
    
    import java.awt.*;
    
    public class JtextField {
    
        public static void main(String[] args){
    
            JFrame jf=new JFrame("JTextFiled");
    
            jf.setLayout(new FlowLayout(FlowLayout.CENTER));
    
            jf.setBounds(400,300,400,300);
    
            JTextField text=new JTextField("请输入",20);
    
            jf.add(text);
    
            jf.setVisible(true);
    
            jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
        }
    
    }

    3.密码框

    类:JPasswordField

    构造函数:

    new JPasswordField();

    new JPasswordField(String text);//指定默认文字

    new JPasswordField(int fieldWidth);//指定文本框长

    new JPasswordField(String text,int fieldWidth);//指定默认文字+指定文本框长度

    new JPasswordField(Documented docModel,String text, int fieldWidth);//指定文本框模式+指定默认文字+指定文本框长度

    其他常用方法:

    • setEchoChar("*");//设置回显字符

    示例:

    import javax.swing.*;
    
    import java.awt.*;
    
    public class JpasswordField{
    
            public static void main(String[] args){
    
                JFrame jf=new JFrame("JTextFiled");
    
                jf.setLayout(new FlowLayout(FlowLayout.LEFT));
    
                jf.setBounds(400,300,400,300);
    
                JLabel jl=new JLabel("密码");
    
                JPasswordField password=new JPasswordField("",20);
    
                jf.add(jl);
    
                jf.add(password);
    
                jf.setVisible(true);
    
                jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
            }
    
    }

    4.文本域

    类:JTextArea

    构造函数:

    new JTextArea();

    new JTextArea(String text);//指定默认文字

    new JTextArea(int rows,int cols);//指定行 列

    new JTextFieldArea(Documented docModel);//指定文本框模式

    new JTextArea(Documented docModel,String text, int rows,int cols);//指定文本框模式+指定默认文字+指定行 列

    其他常用方法:

    • setLineWrap();//设置文本域是否自动换行

    示例:

    import javax.swing.*;
    
    import java.awt.*;
    
    public class JtextArea {
    
        public static void main(String[] args) {
    
            JFrame jf = new JFrame("JTextArea");
    
            jf.setLayout(new FlowLayout(FlowLayout.LEFT));
    
            jf.setBounds(400, 300, 400, 300);
    
            JTextArea area=new JTextArea(20,10);
    
            area.setLineWrap(true);
    
            jf.add(area);
    
            jf.setVisible(true);
    
            jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
        }
    
    }