编写一个JFrame窗口,要求如下: 1.在窗口的NORTH区放置一个JPanel面板。 2.JPanel面板放置如下组件: (1)JLable标签,标签文本为“兴趣”,右边接着是三个JCheckBo

这篇博客展示了如何使用Java Swing创建一个包含JFrame窗口的应用,窗口的北部区域放置了一个JPanel面板,面板上布置了JLabel、JCheckBox和JRadioButton组件。当用户选择不同的选项时,信息会被记录到JTextArea中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package bzu;  
  
public class Test {  
  
    public static void main(String[] args) {  
        // TODO Auto-generated method stub  
        Win  www = new Win();  
  
    }  
  
}  
package bzu;  
  
import java.awt.BorderLayout;  
import java.awt.Color;  
import java.awt.Container;  
import java.awt.GridLayout;  
import java.awt.event.ActionListener;  
import java.awt.event.ItemEvent;  
import java.awt.event.ItemListener;  
  
import javax.swing.*;  
  
  
public class Win extends JFrame {  
      
    Container conterPane;  
    Box baseBox,box1,box2;  
    JPanel sport = new JPanel();  
    JTextArea Ta = new JTextArea(5,20);  
    JScrollPane jsp = new JScrollPane(Ta);  
    JCheckBox checkBox1,checkBox2,checkBox3;  
    JRadioButton jrb1,jrb2;  
    ButtonGroup group;  
    GridLayout grid;  
      
      
    //OperatorListener opreator;  
    public Win(){  
        setLayout(new java.awt.FlowLayout());  
        init();  
        setTitle("浏览器");  
        setLocation(20, 30);  
        setSize(400, 350);  
        setVisible(true);  
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);;  
    }  
    void init(){  
        conterPane = getContentPane();  
        conterPane.add(sport, BorderLayout.NORTH);  
        conterPane.add(jsp, BorderLayout.CENTER);  
        grid = new GridLayout(2, 1);  
        conterPane.setLayout(grid);  
        //sport.setLayout(grid);  
        sport.setBackground(Color.blue);  
      
          
        box1 = Box.createHorizontalBox();  
        box1.add(new JLabel("兴趣"));  
        box1.add(Box.createHorizontalStrut(20));  
        checkBox1 = new JCheckBox("羽毛球");  
        checkBox1.addItemListener(new MyListener());  
        checkBox2 = new JCheckBox("乒乓球");  
        checkBox2.addItemListener(new MyListener());  
        checkBox3 = new JCheckBox("唱歌");  
        checkBox3.addItemListener(new MyListener());  
        box1.add(checkBox1);  
        box1.add(checkBox2);  
        box1.add(checkBox3);  
          
          
        box2 = Box.createHorizontalBox();  
        box2.add(new JLabel("性别"));  
        box2.add(Box.createHorizontalStrut(10));  
        group = new ButtonGroup();  
        jrb1 = new JRadioButton("男");  
        jrb1.addItemListener(new MyListener());  
          
        jrb2 = new JRadioButton("女");  
        jrb2.addItemListener(new MyListener());  
        group.add(jrb1);  
        group.add(jrb2);  
        box2.add(jrb1);  
        box2.add(jrb2);  
        baseBox = Box.createVerticalBox();  
        baseBox.add(box1);  
        baseBox.add(Box.createVerticalStrut(8));  
        baseBox.add(box2);  
        sport.add(baseBox);  
          
          
          
    }  
      
      
    class MyListener implements ItemListener{  
  
        @Override  
        public void itemStateChanged(ItemEvent e) {  
            // TODO Auto-generated method stub  
            if(e.getSource()==checkBox1){  
                    Ta.append("羽毛球"+"\n");  
            }else if(e.getSource()==checkBox2){  
                    Ta.append("乒乓球"+"\n");  
            }else if(e.getSource()==checkBox3){  
                    Ta.append("唱歌"+"\n");  
            }else if(e.getSource()==jrb1){  
                    Ta.append("男"+"\n");  
            }else if(e.getSource()==jrb2){  
                    Ta.append("女"+"\n");  
            }else{  
                return;  
            }  
              
        }  
          
    }  
  
}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值