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");//文本组件长度30JTextField name = new JTextField(30);//带默认内容的文本组件,长度10JTextField 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按钮的单选功能。
常用构造方法