Lable sichtbar/unsichtbar toggeln

Padawan

Mitglied
Hallo Leute,
ich war beim testen von java Oberflächen, um mich einzuarbeiten. dazu sollte ein Button auf der Oberflche vorhanden sein, mit dem ich ein sichtbares Label (im Code die variable lblX) "unsichtbar" machen und anschließend nach 2 sekunden wieder sichtbar machen. Den Code habe ich zwar soweit, der Lable lsst sich jedoch nicht unsichtbar machen. Habe zawr gegoogelt aber nichts gefunden. Im folgenden der Code:
Java:
import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JRadioButton;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Color;
import javax.swing.JLabel;

public class Aufgabe1 extends JFrame {

    private JPanel contentPane;
    private JPanel checkPanel;
    private JPanel pointPanel;
   
    private JRadioButton rdbtnJa;
    private JRadioButton rdbtnNein;
   
    private ButtonGroup btnGroup;  
    private JButton btnStart;
    private JLabel lblX;
   
    private String status;
    private String answer;
    private int diff;
    private int sec;
    private int count;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Aufgabe1 frame = new Aufgabe1();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public Aufgabe1() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 700, 300);
        contentPane = new JPanel();
        setContentPane(contentPane);
        contentPane.setLayout(null);
       
        btnStart = new JButton("Start");
        btnStart.setBounds(0, 0, 684, 23);
        contentPane.add(btnStart);
       
            checkPanel = new JPanel();
            checkPanel.setBounds(0, 229, 684, 33);
            contentPane.add(checkPanel);

            btnGroup = new ButtonGroup();
           
            rdbtnJa = new JRadioButton("Ja");
            checkPanel.add(rdbtnJa);
            btnGroup.add(rdbtnJa);
           
            rdbtnNein = new JRadioButton("Nein");
            checkPanel.add(rdbtnNein);
            btnGroup.add(rdbtnNein);
           
        pointPanel = new JPanel(new BorderLayout());
        pointPanel.setBackground(Color.BLACK);
        pointPanel.setBounds(0, 23, 684, 209);
        contentPane.add(pointPanel);
       
        lblX = new JLabel("X");
        lblX.setForeground(Color.WHITE);
        lblX.setVerticalAlignment(JLabel.CENTER);
        lblX.setHorizontalAlignment(JLabel.CENTER);
        pointPanel.add(lblX, BorderLayout.CENTER);

        run();
    }
   
    public void run() {
        btnStart.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                createLightPoint();
            }
        });
    }
   
    private void createLightPoint() {      
        btnGroup.clearSelection();
        lblX.setVisible(false);
        checkPanel.setVisible(false);
       
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
       
        lblX.setVisible(true);
        checkPanel.setVisible(true);
    }
}


Ich hoffe Ihr könnt mir weiter helfen.

Viele Grüße
Padawan
 
Zuletzt bearbeitet:

mihe7

Top Contributor
Du wartest im Event Dispatch Thread für 2 Sekunden und blockierst dabei das UI. Genauso gut kannst Du das Thread.sleep() auf entfernen, dann hast Du den gleichen Effekt :)

Du willst eher etwas wie:
Java:
    private void createLightPoint() {      
        btnGroup.clearSelection();
        setVisibility(false);
        Thread th = new Thread(new Runnable() {
            public void run() {
                try { Thread.sleep(2000); } catch (InterruptedException ex) {}
                setVisibility(true);
            }
        });
        th.start();
mit
Java:
private void setVisibility(final boolean value) {
    if (SwingUtilities.isEventDispatchThread()) {
        lblX.setVisible(value);
        checkPanel.setVisible(value);
    } else {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() { setVisibility(value); }
        });
    }
}
Achtung: habe das nur in den Foreneditor getippt, kann also Fehler enthalten.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Swing Buttons erst nach Klick sichtbar AWT, Swing, JavaFX & SWT 13
D Swing Komponenten nicht sichtbar nach Start AWT, Swing, JavaFX & SWT 12
P JavaFX Änderungen am Datenmodell visuell nicht sichtbar AWT, Swing, JavaFX & SWT 3
R Swing Panel nur bei Maus sichtbar AWT, Swing, JavaFX & SWT 2
L Swing Komponenten erst nach Resize sichtbar AWT, Swing, JavaFX & SWT 2
J Textfeld nicht sichtbar AWT, Swing, JavaFX & SWT 2
T JButton wird beim vergrößern des Fensters erst sichtbar AWT, Swing, JavaFX & SWT 4
Joker4632 JButton nicht sichtbar, aber funktionsfähig AWT, Swing, JavaFX & SWT 8
L Swing JTextField nicht sichtbar AWT, Swing, JavaFX & SWT 1
K JButton nicht sichtbar machen für User 2 AWT, Swing, JavaFX & SWT 4
U Swing Inhalt vom Fenster wird erst durch Hovern oder Klicken sichtbar AWT, Swing, JavaFX & SWT 3
T JButton überlagern sich und werden erst beim Mausscrollen sichtbar AWT, Swing, JavaFX & SWT 2
A JavaFX DatePicker in Swing beim Start nicht sichtbar AWT, Swing, JavaFX & SWT 2
J JSlider sichtbar AWT, Swing, JavaFX & SWT 7
M SWT View nicht mehr sichtbar AWT, Swing, JavaFX & SWT 2
P Swing Panel nicht sichtbar AWT, Swing, JavaFX & SWT 1
X JFrame erst nach dem Laden sichtbar stellen AWT, Swing, JavaFX & SWT 8
D JList&JButton erst nach Resize des JFRame sichtbar AWT, Swing, JavaFX & SWT 2
A Swing " comboboxes vergl. wenn aus der 1. etwas gewählt wurde ist, es in der 2. nicht mehr sichtbar AWT, Swing, JavaFX & SWT 9
R Komponenten werden erst nach maximierung des Frames sichtbar (Linux) AWT, Swing, JavaFX & SWT 5
S Canvas durch transparentes JPanel sichtbar machen AWT, Swing, JavaFX & SWT 2
D Image soll langsam sichtbar werden AWT, Swing, JavaFX & SWT 4
P jframe setVisible(false) wieder sichtbar machen? AWT, Swing, JavaFX & SWT 4
B LookAndFeel GWT: Canvas in TabSet nicht sichtbar AWT, Swing, JavaFX & SWT 2
S Swing JLabel wird in JPanel nicht sichtbar AWT, Swing, JavaFX & SWT 2
A jformattedtextfield unsichtbar und wieder sichtbar machen AWT, Swing, JavaFX & SWT 13
Wirago Swing neues Fenster nicht sichtbar AWT, Swing, JavaFX & SWT 6
T 2D-Grafik gezeichnetes Bild verschieben - rand bleibt sichtbar AWT, Swing, JavaFX & SWT 2
C SWT CTabItem wieder sichtbar machen AWT, Swing, JavaFX & SWT 3
H Verschiedene JPanels aus eigenen Klassen in JFrame einfügen, nur ein Panel sichtbar AWT, Swing, JavaFX & SWT 4
S Anfänger - JFrame/JLabel nicht sichtbar AWT, Swing, JavaFX & SWT 5
O Swing JButton werden richtig gewechselt aber die Maus macht die alten wieder Sichtbar?? AWT, Swing, JavaFX & SWT 5
S ButtonCelleditor explizit sichtbar machen AWT, Swing, JavaFX & SWT 6
D Swing update eines Labels nicht sichtbar AWT, Swing, JavaFX & SWT 9
S JFreeChart Achse immer sichtbar AWT, Swing, JavaFX & SWT 2
E Swing JList zur Laufzeit hinzugefügt elemente nicht sichtbar?! AWT, Swing, JavaFX & SWT 2
E Swing Zur Laufzeit hinzegfügte Komponenten nicht sofort sichtbar?! AWT, Swing, JavaFX & SWT 4
S ButtonGroups sichtbar/unsichtbar? AWT, Swing, JavaFX & SWT 4
Z JPanel wird erst durch aufziehen des Fensters sichtbar AWT, Swing, JavaFX & SWT 3
L MenüBar nicht sichtbar AWT, Swing, JavaFX & SWT 3
H Feststellen ob eine Componente sichtbar (im Vordergund) ist? AWT, Swing, JavaFX & SWT 2
L Labels sichtbar - JFreeChart AWT, Swing, JavaFX & SWT 5
M JSpinner als TableCellEditor; buttons nur bei fokus sichtbar AWT, Swing, JavaFX & SWT 14
N Nur ein Element sichtbar beim Drucken eines JFrame AWT, Swing, JavaFX & SWT 9
aze JTextfield nur so breit dass alle zeichen sichtbar sind AWT, Swing, JavaFX & SWT 2
aze JDialog immer so breit ,dass die Überschrift sichtbar ist AWT, Swing, JavaFX & SWT 6
M Swing Butten & TextFields aus Applet im JFrame nicht sichtbar AWT, Swing, JavaFX & SWT 2
R JButton -> erst sichtbar nach rollover AWT, Swing, JavaFX & SWT 9
R JPanel - zeichnen in skalierten Bereich - Linie (X-Achse) nicht sichtbar AWT, Swing, JavaFX & SWT 11
MQue Swing JPanel zu (z.B.) 40% sichtbar (teiltransparent) AWT, Swing, JavaFX & SWT 3
P Eigenes TableModel abgeleitet von AbstractTableModel (neue rows nicht sichtbar) AWT, Swing, JavaFX & SWT 6
? Java-SWT-Anwendung in der Taskleiste nicht sichtbar AWT, Swing, JavaFX & SWT 6
T JButton wird erst bei mouseover sichtbar AWT, Swing, JavaFX & SWT 2
S Wieso Fenster im EDT sichtbar machen? AWT, Swing, JavaFX & SWT 43
K keine Zeichenfläche sichtbar AWT, Swing, JavaFX & SWT 2
M JInternalFrame Titel sichtbar setzen AWT, Swing, JavaFX & SWT 2
J JScrollPane aber Scrollbars nicht sichtbar! *grrrrr* AWT, Swing, JavaFX & SWT 10
R JWindow dockt nicht an JFrame bzw. nicht sichtbar ? AWT, Swing, JavaFX & SWT 6
J jTable Daten werden nicht sofort sichtbar AWT, Swing, JavaFX & SWT 5
D Bild nicht sichtbar verändern. AWT, Swing, JavaFX & SWT 8
A Prob:Tabelle bei Zellensprung: Letzte zeile doppelt sichtbar AWT, Swing, JavaFX & SWT 7
P JTextArea erst nach Maximierung sichtbar AWT, Swing, JavaFX & SWT 3
M JComboBox in JTable immer sichtbar AWT, Swing, JavaFX & SWT 16
A Fenster bzw. Frame wird nicht immer sichtbar AWT, Swing, JavaFX & SWT 12
B JPanel erst durch Button-Klick sichtbar machen AWT, Swing, JavaFX & SWT 8
N JButton erben, Buttons nicht sichtbar AWT, Swing, JavaFX & SWT 2
M Java mit Swing - Elemente erst nach klick sichtbar AWT, Swing, JavaFX & SWT 13
K JTable: letzte Zeile immer sichtbar AWT, Swing, JavaFX & SWT 2
A setSize nötig um Elemente sichtbar zu machen? AWT, Swing, JavaFX & SWT 3
A JLabel sichtbar machen AWT, Swing, JavaFX & SWT 9
J Grafik "sichtbar" verschieben AWT, Swing, JavaFX & SWT 2
K Möglichkeit, HTML Tagstruktur im GUI sichtbar zu machen? AWT, Swing, JavaFX & SWT 2
R JComboBox: Popupmenü sichtbar lassen AWT, Swing, JavaFX & SWT 7
M componenten im jframe erst nach fensterveränderung sichtbar AWT, Swing, JavaFX & SWT 2
W jInternal Frame wird nicht sichtbar AWT, Swing, JavaFX & SWT 10
M Jwindows nicht sichtbar (graues bild) AWT, Swing, JavaFX & SWT 9
M JLabel nicht sichtbar AWT, Swing, JavaFX & SWT 11
G graphics Elemente sichtbar machen AWT, Swing, JavaFX & SWT 2
G Test, ob Fenster sichtbar? AWT, Swing, JavaFX & SWT 2
A Inaktives JFrame immer sichtbar AWT, Swing, JavaFX & SWT 3
F JTable Grid ausgeschaltet . aber trotzdem sichtbar AWT, Swing, JavaFX & SWT 3
D paintComponent unter GTK+ Look sichtbar unter Metalabernicht AWT, Swing, JavaFX & SWT 2
Luma Alle Fenster verstecken und wieder sichtbar machen? AWT, Swing, JavaFX & SWT 6
M JTree: Selektion der Elemente nicht mehr sichtbar AWT, Swing, JavaFX & SWT 6
M Änderungen an JPanel nicht sichtbar AWT, Swing, JavaFX & SWT 8
H Swing nach schließen noch sichtbar AWT, Swing, JavaFX & SWT 4
M Panels werden erst beim max. oder min. des Fensters sichtbar AWT, Swing, JavaFX & SWT 2
MrSnake ComboBox-Einträge werden unsichtbar AWT, Swing, JavaFX & SWT 0
R Komponenten von JPanel bleiben unsichtbar AWT, Swing, JavaFX & SWT 2
P JTextField unsichtbar machen AWT, Swing, JavaFX & SWT 2
Z Swing Swing: Elemente werden doppel/verschoben gezeichnet, sind teils unsichtbar etc... AWT, Swing, JavaFX & SWT 10
P JScrollBar designen oder unsichtbar machen AWT, Swing, JavaFX & SWT 10
H Komponenten unmittelbar nach dem Ausführen teilweise unsichtbar AWT, Swing, JavaFX & SWT 3
R Swing Komponenten bleiben bei Animation unsichtbar AWT, Swing, JavaFX & SWT 7
R JApplet, Elemente unsichtbar AWT, Swing, JavaFX & SWT 2
J SWT JFace Tree in Section unsichtbar (Eclipse Forms) AWT, Swing, JavaFX & SWT 5
GianaSisters Swing jTable Daten unsichtbar AWT, Swing, JavaFX & SWT 12
B bin am verzweifeln, will auf knopfdruck durch ne überprüfung die labels unsichtbar machen AWT, Swing, JavaFX & SWT 2
E Alles unsichtbar machen AWT, Swing, JavaFX & SWT 12
Z JTable Werten unsichtbar?! AWT, Swing, JavaFX & SWT 12

Ähnliche Java Themen

Neue Themen


Oben