3.编写程序,在Frame中加入2个复选框,显示标题为“学习”和“玩耍”,根据选择的情况,分别显示“玩耍”、“学习”、“劳逸结合”。 程序文件保存为JEX7_3.java。
时间: 2023-11-14 14:05:45 浏览: 109
以下是JEX7_3.java的代码:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JEX7_3 extends JFrame {
private JCheckBox studyCheckBox;
private JCheckBox playCheckBox;
private JLabel resultLabel;
public JEX7_3() {
super("复选框示例");
setLayout(new FlowLayout());
studyCheckBox = new JCheckBox("学习");
playCheckBox = new JCheckBox("玩耍");
resultLabel = new JLabel();
add(studyCheckBox);
add(playCheckBox);
add(resultLabel);
studyCheckBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
updateResultLabel();
}
});
playCheckBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
updateResultLabel();
}
});
}
private void updateResultLabel() {
if (studyCheckBox.isSelected() && playCheckBox.isSelected()) {
resultLabel.setText("劳逸结合");
} else if (studyCheckBox.isSelected()) {
resultLabel.setText("学习");
} else if (playCheckBox.isSelected()) {
resultLabel.setText("玩耍");
} else {
resultLabel.setText("");
}
}
public static void main(String[] args) {
JEX7_3 frame = new JEX7_3();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 100);
frame.setVisible(true);
}
}
```
该程序创建了一个继承自JFrame的类JEX7_3,其中包含了两个复选框和一个标签。当用户选择复选框时,程序会根据选择的情况更新标签的显示内容。具体来说,如果用户同时选择了“学习”和“玩耍”,那么标签将显示“劳逸结合”;如果用户只选择了“学习”,那么标签将显示“学习”;如果用户只选择了“玩耍”,那么标签将显示“玩耍”;如果用户没有选择任何一个复选框,那么标签将不显示任何内容。