直接上代码,里面有注释
package 窗口体练习;
import javax.swing.*;
import javax.swing.event.AncestorEvent;
import javax.swing.event.AncestorListener;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Test4 extends JFrame {
public static void main(String[] args){
JF jf = new JF(); // 对象窗口
jf.createJF(); // 创建窗口
}
}
class JF extends JFrame{
public void createJF(){
JFrame jFrame = new JFrame("测试"); // 创建JFrame
Container container = jFrame.getContentPane(); // 创建容器
jFrame.setBounds(500, 200, 800, 600); // 设置窗口位置
jFrame.setLayout(null); // 初始化窗口布局
container.setBackground(Color.cyan); // 颜色
jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); // 窗口关闭方式
JLabel jLabel = new JLabel(); // 标签
jLabel.setSize(200,100); // 标签位置
jLabel.setLocation(0, 0); // 和父类容器的相对位置
jLabel.setFont(new Font("微软雅黑", Font.BOLD, 40)); // 设置字体
jLabel.setText("向我开炮"); // 设置标签内容
jLabel.setBackground(new Color(0xA1A1E8)); // 背景颜色
jLabel.setOpaque(true); // 不透明
jLabel.setForeground(new Color(233, 236, 238)); // 颜色
container.add(jLabel); //添加到容器里面
JTextField jTextField = new JTextField(); // 文本域
jTextField.setText("");
jTextField.setSize(200, 80);
jTextField.setLocation(200,0);
jTextField.setBackground(new Color(0xE5E5EC));
jTextField.setFont(new Font("微软雅黑", Font.BOLD, 40));
jTextField.setVisible(true);
jTextField.addActionListener(new ActionListener() { // 事件监听器
@Override
public void actionPerformed(ActionEvent e) {
String s = jTextField.getText();
System.out.println(s);
}
});
jTextField.setOpaque(true);
container.add(jTextField);
JRadioButton jRadioButton = new JRadioButton("男"); // 单选按钮
jRadioButton.setSelected(true);
jRadioButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (jRadioButton.isSelected()){
System.out.println(jRadioButton.getText());
}
}
});
jRadioButton.setSize(75,22);
jRadioButton.setLocation(400, 0);
JRadioButton jRadioButton2 = new JRadioButton("女");
jRadioButton2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if(jRadioButton2.isSelected()){
System.out.println(jRadioButton2.getText());
}
}
});
jRadioButton2.setSelected(true);
jRadioButton2.setSize(75, 22);
jRadioButton2.setLocation(500, 0);
ButtonGroup buttonGroup = new ButtonGroup(); // 单选按钮组
buttonGroup.add(jRadioButton);
buttonGroup.add(jRadioButton2);
container.add(jRadioButton);
container.add(jRadioButton2);
JCheckBox jCheckBox = new JCheckBox("可乐");
JCheckBox jCheckBox2 = new JCheckBox("薯条");
JCheckBox jCheckBox3 = new JCheckBox("炸鸡");
jCheckBox.setBounds(0,100, 80, 50 );
jCheckBox.setSelected(true);
container.add(jCheckBox);
jCheckBox2.setBounds(80,100, 80, 50);
jCheckBox2.setSelected(true);
container.add(jCheckBox2);
jCheckBox3.setBounds(160, 100, 80,50);
jCheckBox3.setSelected(true);
container.add(jCheckBox3);
JButton jButton = new JButton("提交");
jButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (jCheckBox.isSelected()){
String a = jCheckBox.getText();
System.out.println(a);
}
if (jCheckBox2.isSelected()){
String a = jCheckBox2.getText();
System.out.println(a);
}
if (jCheckBox3.isSelected()){
String a = jCheckBox3.getText();
System.out.println(a);
}
}
});
jButton.setBounds(80, 160, 80, 60);
container.add(jButton);
JComboBox<String> jComboBox = new JComboBox<String>(); // 复选框
jComboBox.setBounds(300, 100, 100, 20);
jComboBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println(jComboBox.getSelectedItem());
}
});
jComboBox.addItem("南昌");
jComboBox.addItem("上海");
jComboBox.addItem("北京");
jComboBox.addItem("哈尔滨");
jComboBox.addItem("深圳");
container.add(jComboBox);
String[] a = {"南昌交通学院", "华东交通大学", "江西师范大学", "南昌工学院"};
JList<String> jList = new JList<String>(a); // 复选框
jList.setBounds(300, 300, 200, 100);
jList.addAncestorListener(new AncestorListener() {
@Override
public void ancestorAdded(AncestorEvent event) {
System.out.println(jList.getSelectedValue());
}
@Override
public void ancestorRemoved(AncestorEvent event) {
}
@Override
public void ancestorMoved(AncestorEvent event) {
}
});
container.add(jList);
jFrame.setVisible(true);
}
}
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6963c5c6d22eb8c1a129dcb25f9efbe9.png)