Java基础-组件及事件处理(下)
(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)
目录
面板组件
说明
常见组件
JScrollPane常用构造方法
JScrollPane设置面板滚动策略的方法
JScrollPane滚动策略常量值
文本组件
定义
JTextField
定义
常用构造方法:
示例
JTextArea
定义
常用构造方法
示例:
标签组件
定义
说明:
构造方法:
示例:
按钮组件
说明
AbstractButton常用方法
JCheckBox
说明
常用构造方法
JRadioButton
说明
常用构造方法
面板组件
说明
Swig组件中供了一些面板组件(中间容器),这些面板组件不能单独存在,只能放置在顶级窗口容器中。
常见组件
JPanel
JPanel面板组件是一个无边框,不能被移动、放大、缩小或者关闭的面板,它的默认布局管理器是FlowLayout。
JScrollPane:JScrollPane是一个带有滚动条的面板容器,且只能添加一个组件;想向JScrollPane面板中添加多个组件,应先将这多个组件添加到某个组件中,然后再将这个组件添加到JScrollPane中。
JScrollPane常用构造方法
说明:第三个构造方法,是在第二个构造方法的基础上指定滚动条策略。如果在构造方法中没用指定显示组件和滚动条策略,也可以使用JScrollPane提供的方法进行设置。
JScrollPane设置面板滚动策略的方法
说明:
上述表格方法是JScrollPane滚动面板组件对象提供的设置滚动策略的方法。
滚动策略方法取值可以使用ScrollPaneConstants:接口中声明了多个常量属性来进行设置。
JScrollPane滚动策略常量值
文本组件
定义
文本组件用于接收用户输入的信息,包括文本框(JTextField)、文本域(JTextArea)等。
说明:
它们都有一个共同父类JTextComponent,JTextComponent是一个抽象类。
常用方法:
JTextField
定义
JTextField称为文本框,它只能接收单行文本的输入。
常用构造方法:
说明:
JTextField有一个子类JPasswordField,表示一个单行输入密码框。
在此框中是通过显示指定的回显字符作为占位符。
新创建的密码框默认的回显字符为“*”。
示例
import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JLabel;
public class JTextDemo01
{
public static void main(String args[])
{
JFrame frame = new JFrame("测试单行文本组件JTextField");
//文本组件长度30
JTextField name = new JTextField(30);
//带默认内容的文本组件,长度10
JTextField noed = new JTextField("默认文本", 10);
JLabel nameLab = new JLabel("输入用户姓名:");
JLabel noedLab = new JLabel("不可编辑文本:");
//设置组件的长度
name.setColumns(30);
noed.setColumns(10);
//设置默认文本组件不可编辑
noed.setEnabled(false);
//使用网格布局
frame.setLayout(new GridLayout(2, 2));
frame.add(nameLab);
frame.add(name);
frame.add(noedLab);
frame.add(noed);
frame.setSize(400, 100);
frame.setLocation(300, 200);
frame.setVisible(true);
}
}
运行效果
JTextArea
定义
JTextArea称为文本域,它能接收多行文本的输入,使用JTextArea构造方法创建对象时可以设定区域的行数、列数。
常用构造方法
示例:
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JLabel;
public class JTextAreaDemo01
{
public static void main(String args[])
{
JFrame frame = new JFrame("使用文本域");
//设置文本域的行数,列数
JTextArea jtextarearea = new JTextArea(3, 20); // 设置大小
JLabel lab = new JLabel("多行文本域:");
//设置标签大小
lab.setBounds(10, 10, 120, 20);
//设置文本域的大小
jtextarearea.setBounds(100, 10, 200, 140);
//取消布局管理器,使用绝对定位
frame.setLayout(null); // 取消布局管理器
frame.add(lab);
frame.add(jtextarearea);
frame.setSize(400, 200);
frame.setLocation(300, 200);
frame.setVisible(true);
}
}
运行效果:
标签组件
定义
Swig中提供了用于仅供展示的标签组件。
说明:
标签组件主要用到的是JLabel,JLabel组件可以显示文本、图像,还可以设置标签内容的垂直和水平对齐方式。
构造方法:
示例:
import javax.swing.*;
public class JLabelDemo {
public static void main(String[] agrs) {
JFrame frame=new JFrame("Java标签组件示例"); //创建Frame窗口
JPanel jp=new JPanel(); //创建面板
JLabel label1=new JLabel("普通标签"); //创建标签
JLabel label2=new JLabel();
label2.setText("调用setText()方法");
ImageIcon img=new ImageIcon("a.png"); //创建一个图标
//创建既含有文本又含有图标的JLabel对象
JLabel label3=new JLabel("开始理财",img,JLabel.CENTER);
jp.add(label1); //添加标签到面板
jp.add(label2);
jp.add(label3);
frame.add(jp);
frame.setBounds(300,200,400,400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
运行结果:
按钮组件
说明
在Swing中常见的按钮组件有JButton、JCheckBox、JRadioButton等,它们都是抽象类AbstractButton:类的直接或间接子类。
AbstractButton常用方法
JCheckBox
说明
JCheckBox组件被称为复选框组件,它有选中和未选中两种状态,通常复选框会有多个,用户可以选中其中一个或者多个。
常用构造方法
说明除了上述构造方法,还可以调用从父类继承的set Text(String text)来设置
复选框文本信息,调用setSelected(boolean b)方法来设置复选框状态(是否被
选中),也可以调用isSelected(方法来判断复选框是否被选中。
JRadioButton
说明
JRadioButton:组件被称为单选按钮组件,单选按钮只能选中一个。
使用:
要JRadioButton按钮之间的互斥,需要使用ButtonGroup类。
ButtonGroup是一个不可见的单选按钮组。将多个JRadioButton按钮添加到同一个单选按钮组中就能实现JRadioButton按钮的单选功能。
常用构造方法