Articles of Swing

Unterschied zwischen validate (), revalidate () und invalidate () in Swing GUI

Swing-Komponenten verfügen über mehrere Methoden zur Aktualisierung des Bildschirmlayouts, insbesondere: validate() invalidate() revalidate() Die Java-Dokumentation definiert diese etwas aus einer technischen Perspektive, aber es ist nicht besonders klar, wie sie verwendet werden sollen. Was ist der Unterschied zwischen diesen und unter welchen Umständen sollten Sie einen statt der anderen verwenden?

Wie man eine JTable nicht editierbar macht

Wie kann man eine JTable nicht editierbar machen? Ich möchte nicht, dass meine Benutzer die Werte in Zellen bearbeiten können, indem Sie auf sie doppelklicken.

JLabel Bilder-Array

Ich versuche, das gleiche jlabel gespeicherte Bild zweimal in ein Rasterlayout-Panel zu laden, aber anstatt zwei Instanzen des Bildes zu erstellen, wird das Bild nur einmal angezeigt und dann verschoben. Wie kann ich die gleiche JLabel-Position im Stück-Array in mehr als einem JLabel im boardLabels-Array speichern? Vielen Dank 🙂 public static JPanel boardPanel = new […]

Wie man die AWT EventQueue durch eigene Implementierung ersetzt

Um seltsames Verhalten in einer Swing-Anwendung zu debuggen, möchte ich die AWT EventQueue durch meine eigene Implementierung ersetzen. Ist das möglich? Wie? Falls Sie interessiert sind: Die Implementierung wird ein einfacher Wrapper um die normale Eventqueue sein und eine Protokollierung durchführen. Das Problem, das ich debuggen möchte, ist ein TableCellEditor, der in einer kleinen Demo-App […]

Drucken eines JFrame und seiner Komponenten

Ich habe in einem großen Programm gearbeitet und eine seiner functionalitäten sollte sein, den Inhalt des Hauptfensters zu drucken. Ich habe die API überprüft und folgendes Beispiel gefunden: http://docs.oracle.com/javase/tutorial/2d/printing/gui.html Es war sehr hilfreich, ich habe versucht, diesen Code in meinem Programm zu verwenden, indem ich ihn in die actionperformed-Methode meiner Druckschaltfläche einfügte: PrinterJob job = […]

Wie kann die Ausführung eines SwingWorker abgebrochen werden?

Momentan habe ich zwei SwingWorker-Threads, die im Hintergrund arbeiten. Wenn eine Ausnahmebedingung auftritt, wird die Methode nicht mehr ausgeführt, der Thread wird jedoch weiterhin ausgeführt. Wie mache ich die Ausführung zu stoppen und den Thread der doInBackground() töten, wenn eine Ausnahme auftritt? this.cancel(true) zerstört / schließt den Thread nicht. Wie kann ich das erreichen? @Override […]

Warum SwingUtilities.invokeLater in der Hauptmethode verwenden?

Nach Jahren der Java-Programmierung habe ich meine main() -Methoden immer so erstellt: public static void main(String[] args) { runProgram(); } Aber vor kurzem habe ich ein paar Codes aus dem Web gelesen und sah das manchmal anstelle der üblichen main() Verwendung oben: public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { […]

Was ist der Unterschied zwischen Swing und AWT?

Kann mir bitte jemand erklären was der Unterschied zwischen Swing und AWT ist? Gibt es Fälle, in denen AWT sinnvoller ist als Swing oder umgekehrt?

Swing – Etikett aktualisieren

Ich habe ein Nachrichtenlabel und eine Senden-Schaltfläche. Die Senden-Schaltfläche wird mehrmals gedrückt, und die Aktion für jede einzelne Taste kann bis zu einer Minute dauern. Wenn die Schaltfläche gedrückt wird, möchte ich die Nachricht auf leer festlegen, und nachdem die Aufgabe abgeschlossen ist, möchte ich die Nachricht auf “Abgeschlossen” festlegen. private void submitActionPerformed(java.awt.event.ActionEvent evt) { […]

Was macht SwingUtilities.invokeLater?

Was macht SwingUtilities.invokeLater ? Verzögert es nur die Ausführung eines Codeblocks innerhalb seiner run ? Was ist der Unterschied zwischen dem Aufruf einer Aktion innerhalb der function invokeLater oder dem Aufruf am Ende des Threads, der ausgeführt werden soll? Kann mir jemand helfen, was wirklich die invokeLater function tut?