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; } }