Ich bin leicht verwirrt, ich habe eine jFrame von denen ich in Netbeans gemacht habe. Dieser jFrame hat ein jLabel, das von Anfang an auf setVisible(false);
gesetzt ist. Wann immer eine bestimmte Methode aufgerufen wird, setze ich dann jLabel auf setVisible(true);
und benutze dann einen Timer, um es nach 2 Sekunden wieder auf false
zu setzen. Anscheinend wird es nicht funktionieren und ich kann nicht herausfinden warum. Ich kenne das Repaint(); Methode, aber kann herausfinden, wie man diese Arbeit auch macht.jLabel wird nicht angezeigt
Ich weiß, dass die tatsächliche Methode zum Einstellen der Sichtbarkeit aufgerufen wird, wie ich es eingestellt habe, um eine Zeile mit dem aktuellen Status zu drucken, was es tut.
Mein tatsächlicher Code ist der folgende.
public JFram() {
initComponents();
setResizable(false);
jLabel2.setVisible(false);
}
static void tesMethod() {
try {
//function that does something
} finally {
new JFram().showHide(); //call function which is supposed to change the vissibility of jLabel
}
}
void showHide() {
jLabel2.setVisible(true);
System.out.println("reached show");
new java.util.Timer().schedule(
new java.util.TimerTask() {
@Override
public void run() {
jLabel2.setVisible(false);
System.out.println("reached timer");
}
},
2000
);
}
Der folgende Code ist hier, wie ich das Neuzeichnen zu verwenden versucht(); Methode.
void showHide() {
jLabel2.setVisible(true);
jLabel2.repaint();
System.out.println("reached show");
new java.util.Timer().schedule(
new java.util.TimerTask() {
@Override
public void run() {
jLabel2.setVisible(false);
jLabel2.repaint();
System.out.println("reached timer");
}
},
2000
);
}
wirklich schnell sieht sein soll Statt mit 'JLabel' Sichtbarkeit zu spielen, warum nicht mit seinem Text spielen? (d. h. 'JLabel.setText (" ");'), was einen ähnlichen Effekt verursacht. – Frakcool
Sie sollten auch keinen ['java.util.Timer'] (https://docs.oracle.com/javase/7/docs/api/java/util/Timer.html), sondern einen [' javax .swing.Timer'] (https://docs.oracle.com/javase/8/docs/api/javax/swing/Timer.html) – Frakcool
@Frakcool Ich schätze den Input wirklich, daran hatte ich nicht gedacht. Nach dem Versuch, ist das Problem immer noch da und es wird immer noch nicht funktionieren. Ich habe alle 'setVisible' Zeilen in' setText ("") 'oder' setText ("Done") 'geändert. – Sm00rf9000