Enabled (false), dennoch nutzbar?

FunZel

Mitglied
Hallo an alle, die jenen Beitrag lesen,

ich hab vor drei Tagen mit "java programmieren" angefangen, benutzte NetBeans als Programm.

Meine Frage dazu:

Wenn ich einen jToggleButton als " jToggleButton.setEnabled (false); " setzte, warum kann ich jenen noch benutzten, bitte um rat.

Java:
   /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Button.Package;
/**
 *
 * @author Funzel
 */
public class NewJFrame extends javax.swing.JFrame {

    /**
     * Creates new form NewJFrame
     */
    public NewJFrame() {
        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() {

        jLayeredPane1 = new javax.swing.JLayeredPane();
        jToggleButton1 = new javax.swing.JToggleButton();
        Programs = new javax.swing.JToggleButton();
        Gaming = new javax.swing.JToggleButton();
        AddButton = new javax.swing.JToggleButton();
        AddbuttonBackground = new javax.swing.JButton();
        jToggleButton4 = new javax.swing.JToggleButton();
        jToggleButton5 = new javax.swing.JToggleButton();
        jFileChooser1 = new javax.swing.JFileChooser();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jToggleButton1.setIcon(new javax.swing.ImageIcon("I:\\Projekt X\\Button.png")); // NOI18N
        jToggleButton1.setBorderPainted(false);
        jToggleButton1.setContentAreaFilled(false);
        jToggleButton1.setFocusPainted(false);
        jToggleButton1.setHideActionText(true);
        jToggleButton1.setIconTextGap(0);
        jToggleButton1.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jToggleButton1MouseClicked(evt);
            }
        });
        jToggleButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jToggleButton1ActionPerformed(evt);
            }
        });
        jToggleButton1.setBounds(187, 124, 50, 50);
        jLayeredPane1.add(jToggleButton1, javax.swing.JLayeredPane.DEFAULT_LAYER);

        Programs.setIcon(new javax.swing.ImageIcon("I:\\Projekt X\\Programs.png")); // NOI18N
        Programs.setBorderPainted(false);
        Programs.setContentAreaFilled(false);
        Programs.setIconTextGap(0);
        Programs.setVisible(false);
        Programs.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                ProgramsMouseClicked(evt);
            }
        });
        Programs.setBounds(150, 90, 125, 60);
        jLayeredPane1.add(Programs, javax.swing.JLayeredPane.DEFAULT_LAYER);

        Gaming.setIcon(new javax.swing.ImageIcon("I:\\Projekt X\\Gaming.png")); // NOI18N
        Gaming.setBorderPainted(false);
        Gaming.setContentAreaFilled(false);
        Gaming.setDisabledIcon(new javax.swing.ImageIcon("I:\\Projekt X\\Gaming_Dis.png")); // NOI18N
        Gaming.setVisible(false);
        Gaming.setBounds(150, 147, 125, 60);
        jLayeredPane1.add(Gaming, javax.swing.JLayeredPane.DEFAULT_LAYER);

        AddButton.setIcon(new javax.swing.ImageIcon("I:\\Projekt X\\Button_Link++.png")); // NOI18N
        AddButton.setBorderPainted(false);
        AddButton.setContentAreaFilled(false);
        AddButton.setIconTextGap(0);
        AddButton.setRolloverIcon(new javax.swing.ImageIcon("I:\\Projekt X\\Button_Link++ovtl.png")); // NOI18N
        AddButton.setRolloverSelectedIcon(new javax.swing.ImageIcon("I:\\Projekt X\\Button_Link++ovtl.png")); // NOI18N
        AddButton.setSelectedIcon(new javax.swing.ImageIcon("I:\\Projekt X\\Button_Link++ovtl.png")); // NOI18N
        AddButton.setVisible(false);
        AddButton.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                AddButtonMouseClicked(evt);
            }
        });
        AddButton.setBounds(193, 38, 40, 40);
        jLayeredPane1.add(AddButton, javax.swing.JLayeredPane.DEFAULT_LAYER);

        AddbuttonBackground.setIcon(new javax.swing.ImageIcon("I:\\Projekt X\\Button_Link.png")); // NOI18N
        AddbuttonBackground.setBorderPainted(false);
        AddbuttonBackground.setContentAreaFilled(false);
        AddbuttonBackground.setIconTextGap(0);
        AddbuttonBackground.setVisible(false);
        AddbuttonBackground.setBounds(193, 38, 40, 40);
        jLayeredPane1.add(AddbuttonBackground, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jToggleButton4.setIcon(new javax.swing.ImageIcon("I:\\Projekt X\\Button_Buttom.png")); // NOI18N
        jToggleButton4.setBorderPainted(false);
        jToggleButton4.setContentAreaFilled(false);
        jToggleButton4.setIconTextGap(0);
        jToggleButton4.setVisible(false);
        jToggleButton4.setBounds(122, 147, 180, 90);
        jLayeredPane1.add(jToggleButton4, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jToggleButton5.setIcon(new javax.swing.ImageIcon("I:\\Projekt X\\Button_Top.png")); // NOI18N
        jToggleButton5.setBorderPainted(false);
        jToggleButton5.setContentAreaFilled(false);
        jToggleButton5.setIconTextGap(0);
        jToggleButton5.setVisible(false);
        jToggleButton5.setBounds(122, 59, 180, 90);
        jLayeredPane1.add(jToggleButton5, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jFileChooser1.setAcceptAllFileFilterUsed(false);
        jFileChooser1.setDialogType(javax.swing.JFileChooser.SAVE_DIALOG);
        jFileChooser1.setCurrentDirectory(new java.io.File("E:\\"));
            jFileChooser1.setDialogTitle("Choose Whisly");
            jFileChooser1.setVisible(false);
            jFileChooser1.setBounds(110, 200, 594, 397);
            jLayeredPane1.add(jFileChooser1, javax.swing.JLayeredPane.POPUP_LAYER);

            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 711, Short.MAX_VALUE)
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 605, Short.MAX_VALUE)
            );

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

    private void jToggleButton1MouseClicked(java.awt.event.MouseEvent evt) {                                            
        if (Programs.isVisible()) 
        {
        Programs.setVisible(false);
        Gaming.setVisible(false); 
        Programs.setEnabled(false);
        Gaming.setEnabled(false);
        jToggleButton5.setVisible(false);
        AddButton.setVisible(false);
        AddbuttonBackground.setVisible(false);
        }
        else
        {
        Programs.setVisible(true);
        Gaming.setVisible(true);
        Programs.setEnabled(true);
        Gaming.setEnabled(true);
          
        }
            
    }                                           

    private void ProgramsMouseClicked(java.awt.event.MouseEvent evt) {                                      

        if (jToggleButton5.isVisible())
        {
        jToggleButton5.setVisible(false);
        Gaming.setEnabled(true);
        AddButton.setVisible(false);      
        AddbuttonBackground.setVisible(false);

        }
        else
        {
        jToggleButton5.setVisible(true);
        Gaming.setEnabled(false);
        AddButton.setVisible(true);    
        AddbuttonBackground.setVisible(true);
    }                                     
    }
    private void AddButtonMouseClicked(java.awt.event.MouseEvent evt) {                                       
        if (jFileChooser1.isVisible()) {
            jFileChooser1.setVisible(false);
            jToggleButton1.setEnabled(true);
        }
        else{
            
        jFileChooser1.setVisible(true);
        jToggleButton1.setEnabled(false);
    }                                      
  }
    private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
    }
         
    
    /**
     * @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 [url=http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html]How to Set the Look and Feel (The Java™ Tutorials > Creating a GUI With JFC/Swing > Modifying the Look and Feel)[/url] 
         */
        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(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(NewJFrame.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 NewJFrame().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify
    private javax.swing.JToggleButton AddButton;
    private javax.swing.JButton AddbuttonBackground;
    private javax.swing.JToggleButton Gaming;
    private javax.swing.JToggleButton Programs;
    private javax.swing.JFileChooser jFileChooser1;
    private javax.swing.JLayeredPane jLayeredPane1;
    private javax.swing.JToggleButton jToggleButton1;
    private javax.swing.JToggleButton jToggleButton4;
    private javax.swing.JToggleButton jToggleButton5;
    // End of variables declaration
}

Edit ; Vollständiger Code eingefügt, btw ich hab echt keine ahnung von Java, würde es aber gerne lernen.

- Lg FunZel -
 
Zuletzt bearbeitet:
die interessante Frage ist, warum du offensichtlich falsche Fragen so plakativ stellst 😉

es ist doch nicht schwer, ein Testprogramm a la
Java:
public class TestGUI   extends JFrame {
    public TestGUI()    {
        JToggleButton jToggleButton1 = new JToggleButton("Test");
        add(jToggleButton1);
        jToggleButton1.setEnabled(false);
        
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(800, 600);
        setVisible(true);

    }

    public static void main(String[] args)  {
        new TestGUI();
    }

}
zusammenzustellen und siehe da, es geht (nicht), in jedem Fall ein Unterschied ob die Enabled-Zeile da ist oder nicht


natürlich kann in deinem Programm trotzdem ein Problem bestehen, aber offensichtlich reicht dein weniger Code doch nicht aus dafür,
es kann viele Ursachen geben, dein Listener wird nie ausgeführt, ändert Komponenten die gar nicht in der GUI zu sehen sind usw.,
eigentlich hilft nur ein vollständiges Programm, ansonsten soviele Informationen wie entbehrbar
 
Mouse.evt ist nicht die lösung ich habe jetzt eine ActionPerformed methode genutzt um die Buttons zu deaktivieren und es geht

Java:
   private void jToggleButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                               
     if (jToggleButton2.isEnabled())
    {
         jToggleButton2.setEnabled(false);
    }
        else 
    { 
        jToggleButton2.setEnabled(true);
    }
    }
 

Zurück
Oben