lesson7:gui: 編寫一個JFrame窗口

代碼:
import java.awt.BorderLayout;  
import java.awt.FlowLayout;  
import java.awt.GridLayout;  
import java.awt.Label;  
import java.awt.event.ActionEvent;  
import java.awt.event.ActionListener;  
  
import javax.swing.Box;  
import javax.swing.ButtonGroup;  
import javax.swing.JCheckBox;  
import javax.swing.JFrame;  
import javax.swing.JLabel;  
import javax.swing.JPanel;  
import javax.swing.JRadioButton;  
import javax.swing.JScrollPane;  
import javax.swing.JTable;  
import javax.swing.JTextArea;  
  
public class MyFrame extends JFrame{  
  
    private JPanel panel;  
    private JLabel label1,label2;  
    private JCheckBox checkbox1,checkbox2,checkbox3;  
    private ButtonGroup btnGroup;  
    private JRadioButton radio1,radio2;  
      
    Box baseBox,boxv1,boxv2;  
      
    public MyFrame()  
    {  
        init();  
        setVisible(true);  
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
        setSize(500, 500);  
          
    }  
    public static void main(String[] args) {  
        // TODO Auto-generated method stub  
        new MyFrame();  
    }  
      
    void init()  
    {  
        JTextArea textArea = new JTextArea();  
        boxv1 = Box.createHorizontalBox();  
        boxv1.add(new JLabel("興趣:"));  
        //boxv1.add(Box.createVerticalStrut(5));  
          
        checkbox1 = new JCheckBox("羽毛球");  
        checkbox2 = new JCheckBox("乒乓球");  
        checkbox3 = new JCheckBox("唱歌");  
          
        checkbox1.addActionListener(new ActionListener() {  
              
            @Override  
            public void actionPerformed(ActionEvent e) {  
                // TODO Auto-generated method stub  
                if(checkbox1.isSelected())  
                {  
                    textArea.append('\n'+checkbox1.getText());  
                }  
            }  
        });  
        checkbox2.addActionListener(new ActionListener() {  
              
            @Override  
            public void actionPerformed(ActionEvent e) {  
                // TODO Auto-generated method stub  
                if(checkbox2.isSelected())  
                    textArea.append('\n'+checkbox2.getText());  
            }  
        });  
        checkbox3.addActionListener(new ActionListener() {  
              
            @Override  
            public void actionPerformed(ActionEvent e) {  
                // TODO Auto-generated method stub  
                if(checkbox3.isSelected())  
                    textArea.append('\n'+checkbox3.getText());  
            }  
        });  
          
        boxv1.add(checkbox1);  
        //boxv1.add(Box.createHorizontalStrut(5));  
        boxv1.add(checkbox2);  
        //boxv1.add(Box.createHorizontalStrut(5));  
        boxv1.add(checkbox3);  
        //boxv2.add(Box.createHorizontalStrut(5));  
          
        boxv2 = Box.createHorizontalBox();  
        boxv2.add(new JLabel("性別:"));  
        //boxv2.add(Box.createHorizontalStrut(5));  
        btnGroup = new ButtonGroup();  
        radio1 = new JRadioButton("男");  
        radio2 = new JRadioButton("女");  
        btnGroup.add(radio1);  
        btnGroup.add(radio2);  
          
        radio1.addActionListener(new ActionListener() {  
              
            @Override  
            public void actionPerformed(ActionEvent e) {  
                // TODO Auto-generated method stub  
                if(radio1.isSelected())  
                    textArea.append('\n'+radio1.getText());  
            }  
        });  
        radio2.addActionListener(new ActionListener() {  
              
            @Override  
            public void actionPerformed(ActionEvent e) {  
                // TODO Auto-generated method stub  
                if(radio2.isSelected())  
                    textArea.append('\n'+radio2.getText());  
            }  
        });  
        boxv2.add(radio1);  
        //boxv2.add(Box.createHorizontalStrut(5));  
        boxv2.add(radio2);  
          
        panel = new JPanel();  
        GridLayout gridLayout = new GridLayout(2, 1);  
        panel.setLayout(gridLayout);  
        panel.add(boxv1);  
        panel.add(boxv2);  
        add(panel,BorderLayout.NORTH);  
          
          
        JScrollPane scroll = new JScrollPane(textArea);  
        //scroll.setBounds(100, 100, 100, 100);  
        add(scroll,BorderLayout.CENTER);  
          
    }  
  
}  

j結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章