jaya设计用户界面,界面中包括四个多选按钮,一个文本区,一个标签,点击相应多选按钮,能实现其功能。

设计下图所示用户界面,界面中包括四个多选按钮,一个文本区,一个标签,点击相应多选按钮,能实现其功能。

img

img

用BorderLayout布局实现,实现多选框的item事件,可以实现。

package java3.T9;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;

public class Exam extends JFrame implements ItemListener{
    JCheckBox cb1,cb2,cb3,cb4;
    JLabel lblResult;
    JTextArea taContent;
    String answer="";
    public Exam() {
        super("多选题答题");
        JPanel northPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
        cb1 = new JCheckBox("A");
        cb2 = new JCheckBox("B");
        cb3 = new JCheckBox("C");
        cb4 = new JCheckBox("D");
        cb1.addItemListener(this);
        cb2.addItemListener(this);
        cb3.addItemListener(this);
        cb4.addItemListener(this);
        
        northPanel.add(cb1);
        northPanel.add(cb2);
        northPanel.add(cb3);
        northPanel.add(cb4);
        add(northPanel,BorderLayout.NORTH);
        String str = "A.10+10=20\n";
        str += "B.10*10=80\n";
        str += "C.10/10=1\n";
        str += "D.10%10=0";
        
        
        taContent = new JTextArea(str);
        add(taContent);
        lblResult = new JLabel("你选择的答案是:");
        add(lblResult,BorderLayout.SOUTH);
        
        setSize(300,200);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        new Exam();
    }

    @Override
    public void itemStateChanged(ItemEvent e) {
        answer="";
        if(cb1.isSelected()) {
            answer += cb1.getText();
        }
        if(cb2.isSelected()) {
            answer += cb2.getText();
        }
        if(cb3.isSelected()) {
            answer += cb3.getText();
        }
        if(cb4.isSelected()) {
            answer += cb4.getText();
        }
        lblResult.setText("你选择的答案是:"+answer);
        
    }

}