2 JButtons 2 GUI

时间:2012-08-09 13:14:46

标签: java swing user-interface netbeans jbutton

大家好,我想知道为什么我在这里的一个名为colin的guitons上的2个jbuttons将无法正常工作 当我点击确定按钮调用名为userino_frame的gui时,这就出现了,但是当我点击清除按钮调出motor_frame gui时,gui在线程“AWT-EventQueue-0”中给出了异常java.lang.UnsupportedOperationException:尚未实现信息 我已经尝试了几种方法来改变它,但无济于事,因为我想要做的就是在按下按钮时调出单独的gui

import javax.swing.JButton;

public class colin extends javax.swing.JFrame {

    private static class e {
        private static Object getSource() {
            throw new UnsupportedOperationException("Not yet implemented");
        }
        public e() {
        }
    }

    private static class newcar {
        public newcar() {
        }
    }
    private Object newcar_frame;

    private static class newcar_frame_frame {
        public newcar_frame_frame() {
        }
    }

    /**
     * Creates new form colin
     */
    public colin() {
        initComponents();
    }

    /**
     * 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.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {
        Ok = new java.awt.Button();
        motor = new java.awt.Button();
        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        Ok.setLabel("button1");
        Ok.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {
                OkActionPerformed(evt);
            }
        });
        motor.setLabel("button1");
        motor.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {
                motorActionPerformed(evt);
            }
        });
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(layout.createSequentialGroup().addGap(95, 95, 95).addComponent(Ok, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).addGap(80, 80, 80).addComponent(motor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).addContainerGap(111, Short.MAX_VALUE)));
        layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup().addContainerGap(154, Short.MAX_VALUE).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(motor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(Ok, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(122, 122, 122)));

        pack();
    }// </editor-fold>

    private void OkActionPerformed(java.awt.event.ActionEvent evt) {
        //if(evt.getSource()==Ok){
        userino_frame s = new userino_frame();
        s.setVisible(true);
    }

    private void motorActionPerformed(java.awt.event.ActionEvent evt) {
        //if(evt.getSource()==Clear){
        motor_frame v = new motor_frame();
        v.setVisible(true);
    }

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /*
         * Set the Nimbus look and feel
         */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /*
         * If Nimbus (introduced in Java SE 6) is not available, stay with the
         * default look and feel. For details see
         * http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(colin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(colin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(colin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(colin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /*
         * Create and display the form
         */
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new colin().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify
    private java.awt.Button Ok;
    private java.awt.Button motor;
    // End of variables declaration
}

2 个答案:

答案 0 :(得分:2)

  1. 使用CardLayout代替创建大量Top-Level Containers

  2. userino_frame s = new userino_frame();motor_frame v = new motor_frame();的内容放入卡中,

  3. 来自JButtonActionListener
  4. 仅用于查看这两张卡之间的视图

答案 1 :(得分:0)

似乎你忘了实现这个功能:

    private static Object getSource() {
        throw new UnsupportedOperationException("Not yet implemented");
    }

您必须将throw行替换为实际逻辑。