编程语言
首页 > 编程语言> > Java基础入门-第八章-13

Java基础入门-第八章-13

作者:互联网

Java-GUI-Example13、Example14

在Swing中常见的按钮组件有JButton、JCheckBox、JRadioButton等,它们都是抽象类AbstractButton类的直接或间接子类。

AbstractButton常用方法
方法声明 功能描述
Icon getIcon() 获取按钮的图标
void setIcon(Icon icon) 设置按钮的图标
String getText() 获取按钮的文本
void setText(String text) 设置按钮的文本
void setEnable(boolean b) 设置按钮是否可用
boolean setSelected(boolean b) 设置按钮是否为选中状态
boolean isSelected() 返回按钮的状态(true为选中,反之为未选中)

 

 

 

 

 

 

 

 

 

 

JCheckBox组件被称为复选框组件,它有选中和未选中两种状态,通常复选框会有多个,用户可以选择其中一个或者多个。

JCheckBox常用构造方法
 方法声明 功能描述 
 JCheckBox() 创建一个没有文本信息,初始状态未被选中的复选框 
 JCheckBox(String text) 创建一个带有文本信息,初始状态违背选定的复选框 
 JCheckBox(String text,boolean selected) 创建一个带有文本信息,并指定初始状态(选中/未选中)的复选框 

 

 

 

 

 

 

Example13.java

 1 package GUI;
 2 import java.awt.*;
 3 import java.awt.event.*;
 4 import javax.swing.*;
 5 public class Example13 {
 6     private static void createAndShowGUI() {
 7         //1.创建一个JFrame容器窗口
 8         JFrame f=new JFrame("JFrame窗口");
 9         f.setLayout(new BorderLayout());
10         f.setSize(300,300);
11         f.setLocation(300,200);
12         f.setVisible(true);
13         f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
14         //2.创建一个JLabel标签组件,标签文本居中对齐
15         JLabel label=new JLabel("Hello World!",JLabel.CENTER);
16         label.setFont(new Font("宋体",Font.PLAIN,20));
17         //3.创建一个JPanel面板组件
18         JPanel panel=new JPanel();
19         //3.1创建两个JCheckBox复选框,并添加到JPanel组件中
20         JCheckBox italic=new JCheckBox("ITALIC");
21         JCheckBox bold =new JCheckBox("BOLD");
22         //3.2为复选框定义ActionListener监听器
23         ActionListener listener =new ActionListener() {
24             public void actionPerformed(ActionEvent e) {
25                 int mode =0;
26                 if (bold.isSelected())
27                     mode+=Font.BOLD;
28                 if (italic.isSelected())
29                     mode+=Font.ITALIC;
30                 label.setFont(new Font("宋体",mode,20));
31             }
32         };
33         //3.3为两个复选框添加监听器
34         italic.addActionListener(listener);
35         bold.addActionListener(listener);
36         //3.4在JPanel面板添加复选框
37         panel.add(italic);
38         panel.add(bold);
39         //4.向JFrame窗口容器中加入居中的JLabel标签组件和页尾的JPanel面板组件
40         f.add(label);
41         f.add(panel,BorderLayout.PAGE_END);
42     }
43     public static void main(String[] args) {
44         //使用SwingUtilities工具类调用createAndShowGUI()方法并显示GUI程序
45     SwingUtilities.invokeLater(Example13::createAndShowGUI);
46     }
47 }

 效果:

JRadioButton组件被称为单选按钮组件,与JCheckBox复选框不同的是,单选按钮只能选中一个,就像收音机上的电台控制按钮,当按下一个,先前按下的按钮就会自动弹起。

实现JRadioButton按钮之间的互斥,需要javax.swing,ButtonGroup类。ButtonGroup是一个不可见的组件,不需要将其增加到容器中显示,只是在逻辑上表示一个单选按钮组。

JRadioButton常用构造方法
方法声明 功能描述
JRadioButton() 创建一个没有文本信息,初始状态未被选中的单选框
JRadioButton(String text) 创建一个带有文本信息,初始状态未被选中的单选框
JRadioButton(String text,boolean selected) 创建一个具有文本信息,并指定初始状态(选中/未选中)的单选框

 

 

 

 

 

 

Example14.java

 1 package GUI;
 2 import java.awt.*;
 3 import java.awt.event.*;
 4 import javax.swing.*;
 5 public class Example14 {
 6     private static void createAndShowGUI() {
 7         //1.创建一个JFrame容器窗口
 8         JFrame f =new JFrame("JFrame窗口");
 9         f.setLayout(new BorderLayout());
10         f.setSize(300,200);
11         f.setLocation(300,200);
12         f.setVisible(true);
13         f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
14         //2.创建一个页尾的JPanel面板组件,标签文本居中对齐
15         JLabel label =new JLabel("Hello World!",JLabel.CENTER);
16         label.setFont(new Font("宋体",Font.PLAIN,20));
17         //3.创建一个页尾的JPanel面板组件,来封装ButtonGroup组件
18         JPanel panel =new JPanel();
19         //3.1创建一个ButtonGroup按钮组件
20         ButtonGroup group =new ButtonGroup();
21         //3.2创建两个JRadioButton单选按钮组件
22         JRadioButton italic =new JRadioButton("ITALIC");
23         JRadioButton bold =new JRadioButton("BOLD");
24         //3.3将两个JRadioButton单选组件加入到同一个ButtonGroup组中
25         group.add(italic);
26         group.add(bold);
27         //3.4为两个JRadioButton单选按钮组件注册动作监听器
28         ActionListener listener =new ActionListener() {
29             public void actionPerformed(ActionEvent e) {
30                 int mode =0;
31                 if(bold.isSelected())
32                     mode+=Font.BOLD;
33                 if(italic.isSelected())
34                     mode+=Font.ITALIC;
35                 label.setFont(new Font("宋体",mode,20));
36             }
37         };
38         //3.5为两个复选框添加监听器
39         italic.addActionListener(listener);
40         bold.addActionListener(listener);
41         //3.6将两个JRadioButton单选按钮组件加入到页尾的JPanel组件中
42         panel.add(italic);
43         panel.add(bold);
44         //4.向JFrame容器中分别加入居中的JLabel标签组件和页尾的JPanel面板组件
45         f.add(label);
46         f.add(panel,BorderLayout.PAGE_END);
47     }
48     public static void main(String[] args) {
49         //使用SwingUtilities工具类调用createAndShowGUI()方法显示GUI程序
50     SwingUtilities.invokeLater(Example14::createAndShowGUI);
51     }
52 }

效果:

 

标签:JCheckBox,13,Java,JRadioButton,第八章,JPanel,按钮,组件,new
来源: https://www.cnblogs.com/mathZHX/p/14162800.html