JButtonJRadioButton,JCheckBox事件

package abc;

import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowEvent;
import java.awt.event.WindowFocusListener;
import java.io.File;
import java.io.IOException;
import java.util.Vector;

import javax.imageio.ImageIO;
import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;

public class TestJFrame extends JFrame{
    
    private JTextArea jta;
    private JButton jbt;
    private JCheckBox jcb0; 
    private JCheckBox jcb1; 
    private JCheckBox jcb2; 
    private JRadioButton jrb0;
    private JRadioButton jrb1;
    private JRadioButton jrb2;
    private ButtonGroup bg; //这是一个用于控件互斥的工具
    private JComboBox jcb;
    private JButton addJcbItem;
    private JMenuBar jmb;
    
    public TestJFrame(){
        
        init();
        
        
    }
    
    public void init(){
    
        //this.setSize(400,300);
        this.setBounds(300, 200, 400, 300);
        this.setTitle("第一个JFrame窗体");
        //this.setIconImage(image);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//这里是简单的处理了用户点击关闭的事件,
                                                            //如果想复杂的处理话就要使用事件处理机制
        //this.setLayout(new FlowLayout());
        //this.add(getJta());
        //JScrollPane jsp = new JScrollPane(getJta());//如果你要使用带滚动条的文本域的话,一定要放在ScrollPane
        getBg(); 
        //this.add(jsp);
        this.setJMenuBar(getJmb());//加上菜单
        this.add(getAddJcbItem());
        this.setLayout(null);
        this.add(getJbt());
        this.add(getJcb0());
        this.add(getJcb1());
        this.add(getJcb2());
        this.add(getJrb0());this.add(getJrb1());this.add(getJrb2());
        this.add(getJcb());
        this.setResizable(false);//不能改变窗体大小
        this.setVisible(true);
        
    }
    
    
    public static void main(String[] args) {
        
        new TestJFrame();
    }
    public JTextArea getJta() {
        
        if(jta == null){
            jta = new JTextArea("这是一个文本域",10,10);
            jta.setAutoscrolls(true);//是否出现滚动条
        //    jta.setLineWrap(true);//是否自动换行
            jta.setBounds(200, 200, 50, 50);
            Font font = new Font("黑体",Font.BOLD,10);//字体,字形,大小
            jta.setFont(font);
        }
        
        return jta;
    }

    public void setJta(JTextArea jta) {
        this.jta = jta;
    }

    public JButton getJbt() {
        if(jbt == null){
            jbt = new JButton("提交");
            jbt.setBounds(10, 10, 70, 30);
            jbt.addActionListener(new ActionListener(){

                @Override
                public void actionPerformed(ActionEvent arg0) {
                    // TODO Auto-generated method stub
                    //System.out.println(jta.getText());//得到文本域的值
                    //得到JCheckBox的值
                    if(jcb0.isSelected()){
                        System.out.println(jcb0.getText());
                        
                    }
                    if(jcb1.isSelected()){
                        System.out.println("睡觉");
                    }
                    if(jcb2.isSelected()){
                        System.out.println("打豆豆");
                    }
                    
                    if(jrb0.isSelected()){
                        System.out.println(jrb0.getText());
                    }
                    
                    if(jrb1.isSelected()){
                        System.out.println(jrb1.getText());
                    }
                    
                    if(jrb2.isSelected()){
                        System.out.println(jrb2.getText());

                    }
                    Hua h = (Hua)jcb.getSelectedItem();
                    System.out.println(h.getHid()+" "+h.getHname()+" "+h.getHdate());
                }
            
            });
        }
        return jbt;
    }

    public void setJbt(JButton jbt) {
        this.jbt = jbt;
    }
    public JCheckBox getJcb0() {
        if(jcb0==null){
            jcb0 = new JCheckBox("吃饭");
            jcb0.setBounds(50, 50, 60, 30);
            jcb0.addActionListener(new ActionListener() {//checkbox的事件
                
                @Override
                public void actionPerformed(ActionEvent arg0) {
                    // TODO Auto-generated method stub
                    if(jcb0.isSelected()){
                    System.out.println("你点了吃饭,睡觉一定会有");
                    jcb1.setSelected(true);
                    }
                }
            });
        }
        return jcb0;
    }

    public void setJcb0(JCheckBox jcb0) {
        this.jcb0 = jcb0;
    }

    public JCheckBox getJcb1() {
        if(jcb1==null){
            jcb1 = new JCheckBox("睡觉");
            jcb1.setBounds(120, 50, 60, 30);
        }
        return jcb1;
    }

    public void setJcb1(JCheckBox jcb1) {
        this.jcb1 = jcb1;
    }

    public JCheckBox getJcb2() {
        if(jcb2==null){
            jcb2 = new JCheckBox("打豆豆");
            jcb2.setBounds(180, 50, 70, 30);
        }
        return jcb2;
    }

    public void setJcb2(JCheckBox jcb2) {
        this.jcb2 = jcb2;
    }
    
    public JRadioButton getJrb0() {
        if(jrb0==null){
            jrb0 = new JRadioButton("M");
            jrb0.setBounds(50, 100, 60, 30);
        }
        return jrb0;
    }

    public void setJrb0(JRadioButton jrb0) {
        this.jrb0 = jrb0;
    }

    public JRadioButton getJrb1() {
        if(jrb1==null){
            jrb1 = new JRadioButton("F");
            jrb1.setBounds(120, 100, 60, 30);
        }
        return jrb1;
    }

    public void setJrb1(JRadioButton jrb1) {
        this.jrb1 = jrb1;
    }

    public JRadioButton getJrb2() {
        if(jrb2==null){
            jrb2 = new JRadioButton("X");
            jrb2.setBounds(180, 100, 60, 30);
            jrb2.addActionListener(new ActionListener(){

                @Override
                public void actionPerformed(ActionEvent arg0) {
                    // TODO Auto-generated method stub
                    System.out.println("你好李宇春");
                }
                
            });
        }
        return jrb2;
    }

    public void setJrb2(JRadioButton jrb2) {
        this.jrb2 = jrb2;
    }

    public ButtonGroup getBg() {
        if(bg == null){
            bg = new ButtonGroup();
            bg.add(getJrb0());bg.add(getJrb1());bg.add(getJrb2());
        }
        return bg;
    }

    public void setBg(ButtonGroup bg) {
        this.bg = bg;
    }
    public JComboBox getJcb() {
        if(jcb == null){
            //String str[] = new String[]{"小学","中学","大学","硕士","博士","波斯后","勇士","圣斗士","烈士"};
            HuaDao hd = new HuaDao();
            Vector str = hd.getAllHua();
            jcb = new JComboBox(str);
            jcb.setBounds(100, 150, 100, 30);
            jcb.addActionListener(new ActionListener(){

                @Override
                public void actionPerformed(ActionEvent arg0) {
                    // TODO Auto-generated method stub
                    //得到选中的下拉选项
                    System.out.println(jcb.getSelectedIndex());
                    Object obj = jcb.getSelectedItem();
                    System.out.println(obj);
                }
                
                
            });
        }
        return jcb;
    }

    public void setJcb(JComboBox jcb) {
        this.jcb = jcb;
    }
    
    public JButton getAddJcbItem() {
        if(addJcbItem == null){
            addJcbItem = new JButton("addItem");
            addJcbItem.setBounds(70, 10, 70, 30);
            addJcbItem.addActionListener(new ActionListener(){

                @Override
                public void actionPerformed(ActionEvent arg0) {
                    // TODO Auto-generated method stub
                    jcb.addItem("文盲");
                    jcb.insertItemAt("白痴", 0);
                    jcb.removeItem("博士");
                    jcb.removeItemAt(1);
                    //jcb.add
                }
                
            });
        }
        return addJcbItem;
    }

    public void setAddJcbItem(JButton addJcbItem) {
        this.addJcbItem = addJcbItem;
    }


    public JMenuBar getJmb() {
        if(jmb == null){
            jmb = new JMenuBar();
            //创建下拉菜单的名字
            JMenu jm0 = new JMenu("File");
            jm0.setMnemonic('F');//设置助记符
            JMenu jm1 = new JMenu("Edit");
            jm1.setMnemonic('E');
            jmb.add(jm0);jmb.add(jm1);
            
            
            ImageIcon icon = null;
            //创建下拉菜单的选项
            try {
                icon = new ImageIcon(ImageIO.read(new File("src/qq.jpg")));//读取下拉菜单要用的图标
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            JMenuItem jmi0 = new JMenuItem("Close",icon);//创建带图表的下拉项
            
            jmi0.setMnemonic('C');//助记符,配合Alt使用
            //jmi0.setEnabled(false);//设置不可用
            jmi0.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,KeyEvent.CTRL_MASK));//直接的快捷键
            jmi0.addActionListener(new ActionListener(){

                @Override
                public void actionPerformed(ActionEvent arg0) {
                    // TODO Auto-generated method stub
                    System.exit(0);
                }
                
            });
            jm0.add(jmi0);
            
            //分隔符
            jm0.addSeparator();
            
            //
            //子菜单下面的子菜单 类似file下面的new
            JMenu jnew = new JMenu("New...");
            JMenuItem jmiPrj = new JMenuItem("Project");
            jnew.add(jmiPrj);
            
            jm0.add(jnew);
        }
        return jmb;
    }

    public void setJmb(JMenuBar jmb) {
        this.jmb = jmb;
    }

}

 

posted @ 2012-10-20 10:02  邹晟  阅读(2817)  评论(0编辑  收藏  举报