Menüs sind die am häufigsten verwendeten Komponenten in GUIs. Menüs sind keine Unterklassen der Component-Klasse und können nicht in gewöhnlichen Containern platziert werden. Sie unterliegen keiner Einschränkung durch den Layout-Manager und können nur in der Menüleiste platziert werden.
Die Menükomponente besteht aus drei Teilen: Menüleiste (MenuBar), Menü (Menu) und Menüpunkt (MenuItem). Eine Menüleiste besteht aus mehreren Menüs und ein Menü besteht aus mehreren Menüpunkten. Im Allgemeinen wird die Menüleiste im Frame-Fenster platziert. Rufen Sie einfach die setMenuBar()-Methode der Frame-Klasse auf.
Zu den häufig verwendeten Menüs gehören: Dropdown-Menüs und Popup-Menüs (werden unabhängig angezeigt und können überall angezeigt werden).
1: Schritte zum Erstellen eines Dropdown-Menüs:
1. Erstellen Sie eine Menüleiste.
2. Rufen Sie die setMenuBar()-Methode von Frame auf, um die Menüleiste zum Frame hinzuzufügen.
3. Erstellen Sie jeweils mehrere Menu-Objekte und fügen Sie sie zur MenuBar hinzu.
4. Erstellen Sie für jedes Menu-Objekt mehrere MenuItem-Objekte und fügen Sie sie dem Menu hinzu.
Beispiel:
Kopieren Sie den Codecode wie folgt:
java.awt.* importieren;
öffentliche Klasse MenuDemo {
Rahmen f;
MenuBarmb;
Menü menuFile;
MenuItem mItemNew, mItemOpen, mItemSave;
MenuDemo() {
f = new Frame("Meine Menüinstanz");
f.setBounds(300, 100, 400, 300);
mb = new MenuBar(); // MenüleisteMenuBar erstellen
menuFile = new Menu("File");
mItemNew = new MenuItem("New");
mItemOpen = new MenuItem("Open");
menuFile.add(mItemNew);
mItemSave = new MenuItem("Save");
menuFile.add(mItemOpen);
//Trennlinie hinzufügen
menuFile.addSeparator();
menuFile.add(mItemSave);
mb.add(menuFile);
// Das Menü „Datei“ zur Menüleiste hinzufügen
// setMenuBar: Setzt die Menüleiste dieses Formulars auf die angegebene Menüleiste.
f.setMenuBar(mb);
f.setVisible(true);
}
public static void main(String[] args) {
new MenuDemo();
}
}
Es gibt Bilder und es gibt Wahrheiten: (Die Dropdown-Menüpunkte können keine Screenshots sein)
2: Schritte zum Erstellen eines Popup-Menüs:
1. Richten Sie zunächst das grundlegendste JFrame-Framework ein.
2. Erstellen Sie ein Popup-Menü mit der rechten Maustaste (JPopupMenu) und fügen Sie ein Menüelement (JMenuItem) hinzu. 3. Verwenden Sie die Add-Methode und die Insert-Methode, um JPopupMenu hinzuzufügen oder einzufügen. 4. Zeigen Sie das Popup an, indem Sie die Show-Methode aufrufen Überprüfen Sie alle MouseEvent-Ereignisse entsprechend dem Popup-Menü-Auslöser, um festzustellen, ob es sich um Popup-Menü-Auslöser handelt, und zeigen Sie dann gegebenenfalls das Popup-Menü an
Beispiel:
Kopieren Sie den Codecode wie folgt:
import java.awt.event.*;
javax.swing.* importieren;
öffentliche Klasse JPopMenu_Demo erweitert JFrame {
// Implementierung eines Popup-Menüs. Ein Popup-Menü ist ein kleines Fenster, das sich öffnet und eine Reihe von Optionen anzeigt.
JPopupMenu popupMenu;
öffentliches JPopMenu_Demo() {
super("Rechtsklick-Popup-Menü"); // Rufen Sie den Konstruktor der übergeordneten Klasse auf
// Instanziiere das Popup-Menü
popupMenu = new JPopupMenu();
//Menüelemente zum Menü hinzufügen
popupMenu.add(new JMenuItem("menu item"));
popupMenu.add(new JButton("Button"));
popupMenu.add(new JLabel("Label"));
myEvents();
setSize(350, 300); //Setzen Sie die Fenstergröße ein
setLocation(400, 200);
setVisible(true); // Das Fenster sichtbar machen
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Programm beim Schließen des Fensters verlassen
}
private void myEvents() {
//Fenster-Maus-Ereignisbehandlung
addMouseListener(new MouseAdapter() {
//Klicken Sie mit der Maus
public void mousePressed(MouseEvent event) {
// Rufen Sie die TriggerEvent-Methode auf, um das Ereignis zu verarbeiten
triggerEvent(event);
}
// Maus loslassen
public void mouseReleased(MouseEvent event) {
triggerEvent(event);
}
private void triggerEvent(MouseEvent event) { // Ereignisse verarbeiten
// isPopupTrigger(): Gibt zurück, ob dieses Mausereignis ein Ereignis für das Popup-Menü der Plattform auslöst.
if (event.isPopupTrigger())
// Menü anzeigen
popupMenu.show(event.getComponent(), event.getX(),
event.getY());
}
});
}
public static void main(String args[]) {
neues JPopMenu_Demo();
}
}
Es gibt Bilder und die Wahrheit (aber sie ist ziemlich hässlich)
Drei: Tab-Form:
1.Grundlegende Anweisungen:
2. Häufig verwendete Methoden:
Wir fügen JTabbedPanel mehrere JPanel-Objekte hinzu. und dann noch einmal
Fügen Sie JTabbedPanel zum Formular hinzu. Der Code lautet wie folgt:
Kopieren Sie den Codecode wie folgt:
JTabbedPane jp=new JTabbedPane(JTabbedPane.LEFT); //Legen Sie die Tab-Koordinaten fest
JPanel p1=new JPanel();
JPanel p2=new JPanel();
JPanel p3=new JPanel();
JPanel p4=new JPanel(); //Mehrere Container erstellen
jp.add("Form1", p1);
jp.add("Form 2", p2);
jp.add("Form 3", p3);//Füge einen Untercontainer hinzu und füge der Registerkarte einen Namen hinzu
this.add(jp,BorderLayout.CENTER); //Tab-Formular zum Hauptformular hinzufügen
3. Codebeispiele und Screenshots:
Kopieren Sie den Codecode wie folgt:
java.awt.* importieren;
javax.swing.* importieren;
/**
* <p>Titel: Tab-Demonstration</p>
* <p>Beschreibung: Hier ist eine Tab-Demonstration. Klicken Sie auf verschiedene Karten, um verschiedene Inhalte anzuzeigen.</p>
*/
Die öffentliche Klasse JTabbedPaneDemo1 erweitert JPanel {
public JTabbedPaneDemo1() {
super(new GridLayout(1, 1));
ImageIcon icon = createImageIcon("images/MyIcon.gif");
JTabbedPane tabbedPane = new JTabbedPane();
Komponente panel1 = makeTextPanel("#First Card#");
tabbedPane.addTab("One", icon, panel1, "Die ersten Kartenaufforderungsinformationen!");
tabbedPane.setSelectedIndex(0);
Component panel2 = makeTextPanel("##Second Card##");
tabbedPane.addTab("Two", icon, panel2, "Die zweiten Kartenaufforderungsinformationen!");
Komponente panel3 = makeTextPanel("###Die dritte Karte###");
tabbedPane.addTab("Three", icon, panel3, "Die Eingabeaufforderungsinformationen der dritten Karte!");
Component panel4 = makeTextPanel("####Die vierte Karte####");
tabbedPane.addTab("Vier", icon, panel4, "Die Eingabeaufforderungsinformationen für die vierte Karte!");
//Tab zum Panl hinzufügen
add(tabbedPane);
}
/**
* <br>
* Methodenbeschreibung: Informationen zur Registerkarte hinzufügen<br>
* Eingabeparameter: String-Text Angezeigter Informationsinhalt<br>
* Rückgabetyp: Komponentenmitgliedsobjekt
*/
protected Component makeTextPanel(String text) {
JPanel-Panel = neues JPanel(false);
JLabel fill = new JLabel(text);
fill.setHorizontalAlignment(JLabel.CENTER);
panel.setLayout(new GridLayout(1, 1));
panel.add(filler);
Rücklaufplatte;
}
/**
* <br>
*Methodenbeschreibung: Holen Sie sich das Bild<br>
* Eingabeparameter: String-Pfad, Bildpfad<br>
* Rückgabetyp: ImageIcon-Bildobjekt
*/
protected static ImageIcon createImageIcon(String path) {
// java.net.URL imgURL = TabbedPaneDemo.class.getResource(path);
if (path != null) {
return new ImageIcon(path);
} anders {
System.out.println("Datei konnte nicht gefunden werden: " + Pfad);
null zurückgeben;
}
}
public static void main(String[] args) {
// Swing-Formularbeschreibung verwenden
// JFrame.setDefaultLookAndFeelDecorated(true);
versuchen {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} Catch (Ausnahme e) {
}
//Formular erstellen
JFrame Frame = new JFrame("TabbedPaneDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new JTabbedPaneDemo1(), BorderLayout.CENTER);
// Formular anzeigen
frame.setSize(400, 200);
frame.setVisible(true);
}
}