前言
上一篇我们共同学习了文本域面板JScrollPane,本篇我们将学习图片按钮、单选框、多选框。
一、各类按钮的操作
- 图片按钮:跟我们之前学的图片图标差不多,我们只需要生成imageicon将图片的地址导入进去,生成icon类型的对象,再设置按钮的icon为这个对象即可。
- 单选框(JRadioButton):单选框我们就是要将多个选择按钮进行分组,放到一个组中,每一个组只允许一个选择按钮被选择。
- 多选框(JCheckBox):跟上面的单选框类似但不同的是多选框不需要进行分组,保证多个按钮都可以被选择。
二、代码示例
1.图片按钮
代码如下(示例):
JButtonDemo类
public class JButtonDemo extends JFrame {
public JButtonDemo(){
Container container = this.getContentPane();
//图片图标
URL picture = JButtonDemo.class.getResource("/img.png");
Icon icon = new ImageIcon(picture);
JButton jButton = new JButton();
jButton.setBounds(50,100,200,200);
//jButton.setHorizontalAlignment(SwingConstants.CENTER);
jButton.setIcon(icon);
jButton.setToolTipText("图片图标");
container.add(jButton);
container.setLayout(null);
this.setSize(700,500);
this.setVisible(true);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JButtonDemo();
}
}
运行结果:
2.单选框
代码如下(示例):
JRadioDemo类
public class JRadioDemo extends JFrame {
public JRadioDemo(){
Container container = this.getContentPane();
//单选框
JRadioButton jRadioButton1 = new JRadioButton("jRadioButton1");
JRadioButton jRadioButton2 = new JRadioButton("jRadioButton2");
JRadioButton jRadioButton3 = new JRadioButton("jRadioButton3");
//由于单选框只能选一个所以需要分组
ButtonGroup buttonGroup = new ButtonGroup();
buttonGroup.add(jRadioButton1);
buttonGroup.add(jRadioButton2);
buttonGroup.add(jRadioButton3);
container.add(jRadioButton1,BorderLayout.NORTH);
container.add(jRadioButton2,BorderLayout.CENTER);
container.add(jRadioButton3,BorderLayout.SOUTH);
this.setSize(200,300);
this.setVisible(true);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JRadioDemo();
}
}
运行结果:
3.多选框
代码如下(示例):
JCheckBoxDemo类
public class JCheckBoxDemo extends JFrame {
public JCheckBoxDemo(){
Container container = this.getContentPane();
//多选框
JCheckBox jCheckBox1 = new JCheckBox("jCheckBox1");
JCheckBox jCheckBox2 = new JCheckBox("jCheckBox2");
JCheckBox jCheckBox3 = new JCheckBox("jCheckBox3");
container.add(jCheckBox1,BorderLayout.NORTH);
container.add(jCheckBox2,BorderLayout.CENTER);
container.add(jCheckBox3,BorderLayout.SOUTH);
this.setSize(200,300);
this.setVisible(true);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new JCheckBoxDemo();
}
}
运行结果: