Jlabel durch Text in 2 anderen Jlabels sichtbar machen

Tonimakkaroni

Aktives Mitglied
Hallo ich möchte ein Jlabel sichtbar machen nachdem zwei anderen Jlabel über zwei wiederum andere Jbutton die Texte mit setText bekommen alles Funktioniert außer dass mein Jlabel sichtbar wird. Hier mein Code :

Code:
if (lbla.getText().equals("a")
& lblb.getText().equals("b"))
labelc.setVisible(true);
 
Mehr Code wäre sinnvoll, um irgendwas dazu sagen zu können...
Mal ins blaue geraten, beide Bedingungen sind true?
 
Code:
final JLabel lblEw = new JLabel("");
        lblEw.setFont(new Font("Year supply of fairy cakes", Font.BOLD | Font.ITALIC, 15));
        lblEw.setBounds(382, 492, 174, 70);
        contentPane.add(lblEw);
        lblEw.setVisible(true);
       
        final JLabel lblTechunterlagen = new JLabel("");
        lblTechunterlagen.setFont(new Font("Year supply of fairy cakes", Font.BOLD | Font.ITALIC, 15));
        lblTechunterlagen.setBounds(559, 492, 249, 70);
        contentPane.add(lblTechunterlagen);
        lblTechunterlagen.setVisible(true);
       
final JButton btnOok = new JButton("OOK");
        btnOok.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                lblEw.setText("Ook");
            }
        });
final JButton btnPlan = new JButton("Plan");
        btnPlan.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                lblTechunterlagen.setText("Plan");
            }
        });
final JLabel label = new JLabel("");
        label.setIcon(new ImageIcon(getClass().getResource("/GraphischeDarstellung/OOK1.jpg")));
        label.setBounds(10, 81, 791, 409);
        contentPane.add(label);
        label.setVisible(false);
       
if (lblEw.getText().equals("Ook")
                & lblTechunterlagen.getText().equals("Plan"))
            label.setVisible(true);
sry hatte nur mein Handy bei der Hand . hier mehr code
 
Ist das alles Inhalt einer Methode?

Code:
lblEw.setText("Ook");
wird erst ausgeführt, wenn der Button gedrückt wird, das
Code:
if (lblEw.getText().equals("Ook")
                & lblTechunterlagen.getText().equals("Plan"))
aber schon direkt nach Erstellen des Buttons, zu dem Zeitpunkt kann der aber noch gar nicht gedrückt worden sein. Das if sollte sinnigerweise innerhalb der ActionListener ausgeführt werden, oder zumindest zu einem Zeitpunkt nach drücken des Buttons.


Als ergänzende Hinweise, wesentlich sinnvoller als einen LabelText zu prüfen, ist es, eine boolsche Variable zu setzten und zu prüfen, das macht denCode wesentlich lesbarer und leichter zu überarbeiten.
Außerdem ist es immer besser, ifs mit geschweiften Klammern zu schreiben, kostet 2 Zeichen mehr, bringt aber Fehlerunanfälligkeit und in meinen Augen auch Lesbarkeit...
 

Zurück
Oben