首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

netbeans中的有关问题java.awt.EventQueue.invokeLater(new Runnable())求解

2012-01-08 
netbeans中的问题java.awt.EventQueue.invokeLater(new Runnable())求解我用netbeans编写了一个简单的程序

netbeans中的问题java.awt.EventQueue.invokeLater(new Runnable())求解
我用netbeans编写了一个简单的程序:源文件如下:
package   swingtest;
import   javax.swing.*;
import   javax.swing.event.*;

public   class   MFrame   extends   javax.swing.JFrame   {
       
        /**   Creates   new   form   MFrame   */
          public   MFrame()   {
                initComponents();
                bgroup   =   new   ButtonGroup();
                bgroup.add(jRadioButton1);
                bgroup.add(jRadioButton2);
                s   =   bgroup.getButtonCount();
               
        }
       
        /**   This   method   is   called   from   within   the   constructor   to
          *   initialize   the   form.
          *   WARNING:   Do   NOT   modify   this   code.   The   content   of   this   method   is
          *   always   regenerated   by   the   Form   Editor.
          */
        //   <editor-fold   defaultstate= "collapsed "   desc= "   生成的代码   ">                                                    
        private   void   initComponents()   {
                jLabel1   =   new   javax.swing.JLabel();
                jButton1   =   new   javax.swing.JButton();
                jToggleButton1   =   new   javax.swing.JToggleButton();
                jCheckBox1   =   new   javax.swing.JCheckBox();
                jRadioButton1   =   new   javax.swing.JRadioButton();
                jRadioButton2   =   new   javax.swing.JRadioButton();

                setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
                jLabel1.setText( "jLabel1 ");

                jButton1.setText( "jButton1 ");

                jToggleButton1.setText( "jToggleButton1 ");

                jCheckBox1.setText( "jCheckBox1 ");
                jCheckBox1.setBorder(javax.swing.BorderFactory.createEmptyBorder(0,   0,   0,   0));
                jCheckBox1.setMargin(new   java.awt.Insets(0,   0,   0,   0));
                jCheckBox1.addItemListener(new   java.awt.event.ItemListener()   {


                        public   void   itemStateChanged(java.awt.event.ItemEvent   evt)   {
                                jCheckBox1ItemStateChanged(evt);
                        }
                });
                jCheckBox1.addChangeListener(new   javax.swing.event.ChangeListener()   {
                        public   void   stateChanged(javax.swing.event.ChangeEvent   evt)   {
                                jCheckBox1StateChanged(evt);
                        }
                });

                jRadioButton1.setText( "jRadioButton1 ");
                jRadioButton1.setBorder(javax.swing.BorderFactory.createEmptyBorder(0,   0,   0,   0));
                jRadioButton1.setMargin(new   java.awt.Insets(0,   0,   0,   0));
                jRadioButton1.addItemListener(new   java.awt.event.ItemListener()   {
                        public   void   itemStateChanged(java.awt.event.ItemEvent   evt)   {
                                jRadioButton1ItemStateChanged(evt);
                        }
                });

                jRadioButton2.setSelected(true);
                jRadioButton2.setText( "jRadioButton2 ");
                jRadioButton2.setBorder(javax.swing.BorderFactory.createEmptyBorder(0,   0,   0,   0));
                jRadioButton2.setMargin(new   java.awt.Insets(0,   0,   0,   0));
                jRadioButton2.addItemListener(new   java.awt.event.ItemListener()   {
                        public   void   itemStateChanged(java.awt.event.ItemEvent   evt)   {
                                jRadioButton2ItemStateChanged(evt);
                        }
                });

                org.jdesktop.layout.GroupLayout   layout   =   new   org.jdesktop.layout.GroupLayout(getContentPane());
                getContentPane().setLayout(layout);
                layout.setHorizontalGroup(
                        layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)


                        .add(layout.createSequentialGroup()
                                .add(31,   31,   31)
                                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                                        .add(layout.createSequentialGroup()
                                                .add(jCheckBox1)
                                                .add(43,   43,   43)
                                                .add(jRadioButton1)
                                                .add(18,   18,   18)
                                                .add(jRadioButton2,   org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,   110,   org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                                        .add(layout.createSequentialGroup()
                                                .add(jLabel1)
                                                .add(35,   35,   35)
                                                .add(jButton1)
                                                .add(17,   17,   17)
                                                .add(jToggleButton1)))
                                .addContainerGap(26,   Short.MAX_VALUE))
                );
                layout.setVerticalGroup(
                        layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                        .add(layout.createSequentialGroup()
                                .add(19,   19,   19)
                                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)


                                        .add(jLabel1)
                                        .add(jButton1)
                                        .add(jToggleButton1))
                                .add(17,   17,   17)
                                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                                        .add(jCheckBox1)
                                        .add(jRadioButton1)
                                        .add(jRadioButton2))
                                .addContainerGap(226,   Short.MAX_VALUE))
                );
                pack();
        }//   </editor-fold>                                                

        private   void   jRadioButton2ItemStateChanged(java.awt.event.ItemEvent   evt)   {                                                                                              
//   TODO   将在此处添加您的处理代码:
              //   JOptionPane.showMessageDialog(null, "Count   is   "+s);
        }                                                                                            

        private   void   jRadioButton1ItemStateChanged(java.awt.event.ItemEvent   evt)   {                                                                                              
//   TODO   将在此处添加您的处理代码:
                JOptionPane.showMessageDialog(null, "Count   is   "+s);
        }                                                                                            



        private   void   jCheckBox1ItemStateChanged(java.awt.event.ItemEvent   evt)   {                                                                                        
//   TODO   将在此处添加您的处理代码:
                JOptionPane.showMessageDialog(null, "You   hava   changed   you   chose   "+jCheckBox1.getText());
        }                                                                                      

        private   void   jCheckBox1StateChanged(javax.swing.event.ChangeEvent   evt)   {                                                                                
//   TODO   将在此处添加您的处理代码:
                //JOptionPane.showMessageDialog(null, "You   hava   changed   you   chose   ! ");
        }                                                                              
       
        /**
          *   @param   args   the   command   line   arguments
          */
      public   static   void   main(String   args[])   {
                java.awt.EventQueue.invokeLater(new   Runnable()   {
                        public   void   run()   {
                                JOptionPane.showMessageDialog(null, "MFrame.main()   actioned   !   ");
                                new   MFrame().setVisible(true);                                
                        }
                });
        }
        public   static   int   s;
        private   javax.swing.ButtonGroup   bgroup;
        //   变量声明   -   不进行修改                                          
        private   javax.swing.JButton   jButton1;


        private   javax.swing.JCheckBox   jCheckBox1;
        private   javax.swing.JLabel   jLabel1;
        private   javax.swing.JRadioButton   jRadioButton1;
        private   javax.swing.JRadioButton   jRadioButton2;
        private   javax.swing.JToggleButton   jToggleButton1;
        //   变量声明结束                                      
       
}

Test.java:

package   swingtest;
import   javax.swing.*;
import   javax.swing.event.*;
/**
  *
  *   @author   Administrator
  */
public   class   Test   {
       
        /**   Creates   a   new   instance   of   Test   */
        public   Test()   {
        }
        public   static   void   main(String[]   args)
        {
                MFrame   mfr   =   new   MFrame();
                JOptionPane.showMessageDialog(null, "Test.main   actioned! ");
                mfr.setVisible(true);
        }
       
}
其中Test.java文件中的main函数是我自己加的,可是这样一来这个工程就有两个main函数了,实际上执行的是MFrame.java中的main,但是一旦把MFrame.java中的main注释起来后再执行项目就会是Test.java中的main函数执行了,把我搞晕了,这是什么意思啊???请高手帮忙解决一下疑惑~~~


[解决办法]
不会,帮你顶一下.

热点排行