Wie Tasten verwenden, Checkboxen und Radiobuttons (Die Java - Tutorials - Erstellen einer GUI mit JFC
Implementiert Umschaltfunktion von JCheckBox und JRadioButton geerbt. Kann instanziiert werden oder subclassed Zwei-Staaten-Schaltflächen zu erstellen.
Hinweis: Wenn Sie eine Gruppe von Schaltflächen in einer Zeile oder Spalte sammeln wollen, dann sollten Sie prüfen, Toolbars.
Zunächst erläutert dieser Abschnitt der Grundtaste API, die definiert Abstract # 151; und damit alle Swing-Tasten gemeinsam haben. Weiter beschreibt er die kleine Menge von API, die JButton zu Abstracthinzufügt. Danach wird dieser Abschnitt zeigt Ihnen, wie spezielle API verwenden, Kontrollkästchen und Optionsfelder zu implementieren.
Hier ist ein Bild von einer Anwendung, die drei Schaltflächen angezeigt:
Es deaktiviert die mittlere Taste (und sich selbst, da es nicht mehr sinnvoll ist) und ermöglicht die rechte Taste.
Es ermöglicht die mittlere Taste und die linke Taste und deaktiviert sich selbst.
Da das ButtonDemo Beispiel zeigt, kann eine Swing-Taste Text und ein Bild angezeigt werden soll. In ButtonDemo. Jeder Knopf hat einen Text in einem anderen Ort, relativ zu seinem Bild. Die unterstrichenen Buchstaben in jedem Text der Schaltfläche zeigt die mnemonic # 151; die Tastatur Alternative # 151; für jede Taste. In den meisten schauen und fühlen, kann der Benutzer auf eine Schaltfläche klicken, indem Sie die Alt-Taste und die mnemonic drücken. Zum Beispiel würde klicken Sie Alt-M die mittlere Taste in ButtonDemo.
Wenn eine Taste deaktiviert wird, erzeugt das Look and Feel automatisch die behinderte Aussehen der Schaltfläche. Sie können jedoch ein Bild zur Verfügung stellen für das normale Bild wechselt werden müsste. Zum Beispiel könnten Sie grauen Versionen der in den linken und rechten Tasten verwendet, um Bilder zur Verfügung stellen.
Wie Sie implementieren Ereignisbehandlung hängt von der Art der Taste, die Sie verwenden und wie Sie es verwenden. Im Allgemeinen implementieren Sie eine Aktion Hörer. die jedes Mal benachrichtigt wird der Benutzer auf die Schaltfläche klickt. Für Kontrollkästchen verwenden Sie in der Regel ein Element Zuhörer. die benachrichtigt wird, wenn das Kontrollkästchen aktiviert ist oder abgewählt.
Unten ist der Code von ButtonDemo.java, das die Schaltflächen im vorherigen Beispiel erstellt und reagiert auf Tastenklicks. Der kühne Code ist der Code, bleiben würde, wenn die Tasten keine Bilder haben.
gewöhnliche Tasten # 151; JButton Objekte # 151; hat nur ein bisschen mehr Funktionalität als die Abstract Klasse stellt: Sie eine JButton die Standardschaltfläche sein machen.
Allenfalls eine Taste in einem Container auf oberster Ebene kann die Schaltfläche Standard sein. Die Standardschaltfläche hat typischerweise ein markiertes Aussehen und wirkt angeklickt, wenn der Container auf oberster Ebene der Tastaturfokus hat und der Benutzer drückt die Eingabetaste oder Enter-Taste. Hier ist ein Bild von einem Dialog implementiert, in dem ListDialog Beispiel, bei dem die Set-Taste ist die Standard-Schaltfläche:

Sie legen die Standardschaltfläche durch die setDefaultButton Methode auf einem Container auf oberster Ebene des Wurzelbereich aufrufen. Hier ist der Code, der die Standard-Schaltfläche für das ListDialog Beispiel aufstellt:
Die genaue Umsetzung der Funktion Standardschaltfläche hängt von dem Look and Feel. Zum Beispiel im Windows Look and Feel, die Standard-Schaltfläche wechselt zu welcher Taste, um den Fokus hat, so dass das Drücken Klicks die fokussierte Enter-Taste. Wenn keine Taste den Fokus hat, wird die Taste, die Sie ursprünglich angegeben als Standardschaltfläche wieder die Standardschaltfläche.
Die JCheckBox Klasse bietet Unterstützung für die Tasten Kontrollkästchen. Sie können Boxen in Menüs setzen auch überprüfen. die JCheckBoxMenuItem Klasse. Da JCheckBox und JCheckBoxMenuItem erben von Abstract. Swing Kontrollkästchen haben alle üblichen Schaltfläche Eigenschaften, wie weiter oben in diesem Abschnitt behandelt. Zum Beispiel können Sie die Bilder an, die in Kontrollkästchen verwendet werden.
Kontrollkästchen sind ähnlich wie Radio-Buttons, aber ihre Auswahl Modell ist anders, durch Konvention. Eine beliebige Anzahl von Kontrollkästchen in einer Gruppe # 151; keine, einige oder alle # 151; gewählt werden. Eine Gruppe von Optionsfeldern, auf der anderen Seite kann nur eine Taste ausgewählt hat.
Hier ist ein Bild von einer Anwendung, die vier Kontrollkästchen verwendet eine Karikatur anzupassen:

Das Chin Kontrollkästchen wird nicht ausgewählt, und das Kinn verschwindet aus dem Bild. Die anderen Kontrollkästchen bleiben ausgewählt. Diese Anwendung hat ein Element Zuhörer, die alle Kontrollkästchen zuhören. Jedes Mal, wenn der Artikel Zuhörer ein Ereignis empfangen, lädt die Anwendung ein neues Bild, das den aktuellen Zustand des Kontrollkästchen widerspiegelt.
Ein Kontrollkästchen erzeugt ein Element Ereignis und ein Aktionsereignis pro Klick. Normalerweise hören Sie nur für Artikel Ereignisse, da sie lassen Sie bestimmen, ob der Klick ausgewählt oder das Kontrollkästchen deaktiviert. Unten ist der Code von CheckBoxDemo.java dass die Kontrollkästchen im vorherigen Beispiel erstellt und klickt reagiert auf.
Radioknöpfe sind Gruppen von Tasten, bei denen, durch Konvention, nur eine Taste zu einer Zeit ausgewählt werden kann. Die Swing-Version unterstützt Radio-Buttons mit der JRadioButton und ButtonBroup Klassen. Um ein Optionsfeld in einem Menü zu setzen. Verwenden Sie die JRadioButtonMenuItem Klasse. Andere Möglichkeiten der one-of-viele Möglichkeiten Anzeigen sind Kombinationsfelder und Listen. Radio-Buttons aussehen Boxen zu überprüfen. aber per Konvention Kontrollkästchen keine Begrenzung auf wie viele Elemente können gleichzeitig ausgewählt werden.
Da JRadioButton erbt von Abstract. Swing Radiobuttons hat alle üblichen Schaltfläche Eigenschaften, wie weiter oben in diesem Abschnitt behandelt. Zum Beispiel können Sie das Bild in einem Optionsfeld angezeigt angeben.
Hier ist ein Bild von einer Anwendung, die fünf Radiobuttons verwendet Sie auswählen zu können, welche Art von Tier angezeigt:

Der Hund Taste wird ausgewählt, die die Vogel-Taste nicht ausgewählt werden läßt. Das Bild wechselt von einem Vogel zu einem Hund. Diese Anwendung hat eine Aktion Hörer, die alle Radio-Buttons hört. Jedes Mal, wenn die Aktion Hörer ein Ereignis empfangen, zeigt die Anwendung das Bild für das Optionsfeld, das gerade geklickt wurde.
Jedes Mal, wenn der Benutzer klickt auf ein Optionsfeld (auch wenn es schon ausgewählt), feuert die Taste eine Aktion Ereignis. Ein oder zwei Artikel Ereignisse auch auftreten, # 151; eine von der Taste, die gerade ausgewählt ist, und eine andere aus dem Knopf, der die Auswahl verloren (falls vorhanden) wurde. Normalerweise behandeln Sie Radio-Button-Klicks über eine Aktion Hörer.
Unten ist der Code von RadioButtonDemo.java, die die Radio-Buttons im vorherigen Beispiel erstellt und klickt reagiert auf.
Für jede Gruppe von Radiobuttons, benötigen Sie eine ButtonBroup Instanz zu erstellen und jeden Radio-Button, um es hinzuzufügen. Die ButtonBroup nimmt Deselektieren der zuvor ausgewählten Taste, wenn der Benutzer eine andere Taste in der Gruppe auswählt.
Sie sollten im Allgemeinen eine Gruppe von Optionsfeldern initialisieren, so dass man ausgewählt wird. Allerdings ist die API diese Regel nicht erzwingen # 151; eine Gruppe von Optionsfeldern kann keine Vorselektion hat. Sobald der Benutzer eine Auswahl getroffen hat, genau ein Knopf ab dann ausgewählt.
Die folgenden Tabellen zeigen die häufig verwendete Taste bezogene API. Andere Methoden, die Sie könnten, wie setFont und setForeground nennen. ist in den API-Tabellen in der JComponent Klasse aufgeführt.
Die API für Schaltflächen fällt in diesen Kategorien:
Verfahren oder Constructor