选择组件
除了输入,也需要选择组件,接下来介绍,复选框、单选按钮、选项列表以及滑块。复选框
需要紧邻标签来说明其用途。 bold = new JCheckBox("Bold"); 调用setSelected方法来选中或取消复选框 bold.setSelected(true); isSelected方法将获取每个复选框当前状态。 用户点击复选框将触发一个动作事件,两个复选框使用同一动作监听器。 监听器查询bold和italic复选框状态,并且把面板中的字体设置为常规、加粗、倾斜或者粗斜体。复选框例子:
package swing;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import java.awt.event.ActionListener;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class CheckBoxTest {
public static void main(String[] args) {
JFrame frame = new JFrame("复选框");
var label = new JLabel("敏捷的棕色狐狸跳过懒惰的狗.");
label.setFont(new Font("Serif",Font.BOLD,24));
frame.add(label,BorderLayout.CENTER);
var bold = new JCheckBox("粗体");
var italic = new JCheckBox("斜体");
ActionListener listener = e -> {
int mode = 0;
if(bold.isSelected()) mode+=Font.BOLD;
if(italic.isSelected()) mode+=Font.ITALIC;
label.setFont(new Font("Serif", mode, 24));
};
JPanel buttonPanel = new JPanel();
bold.addActionListener(listener);
bold.setSelected(true);
buttonPanel.add(bold);
italic.addActionListener(listener);
buttonPanel.add(italic);
frame.add(buttonPanel,BorderLayout.SOUTH);
frame.setSize(400, 400);
//初始打开为屏幕中央
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenSize = toolkit.getScreenSize();
int screenWidth = (int) screenSize.getWidth();
int screenHeight = (int) screenSize.getHeight();
//计算窗口位置
int x = (screenWidth - frame.getWidth())/2;
int y = (screenHeight - frame.getHeight())/2;
frame.setLocation(x, y);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
javax.swing.JCheckBox 1.2
- JCheckBox(String label)
- JCheckBox(String label,Icon icon),构造一个复选框,初始没有被选中
- JCheckBox(String label,boolean state),用给定标签和初始状态构造一个复选框。
- boolean isSelected()
- void setSelected(boolean state),获取或设置复选框的选择状态。