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

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