JavaGUI菜单栏与文本和密码及文本域组件使用详解

Java
286
0
0
2023-04-07
目录
  • 1.菜单栏
  • 1.一级菜单栏
  • 2.多级菜单栏
  • 2.文本
  • 3.密码框
  • 4.文本域

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);
    }
}