Menu adalah komponen yang paling umum digunakan dalam GUI. Menu bukanlah subkelas dari kelas Komponen dan tidak dapat ditempatkan dalam wadah biasa. Menu tidak dibatasi oleh pengelola tata letak dan hanya dapat ditempatkan di bilah menu.
Komponen menu terdiri dari tiga bagian: bilah menu (MenuBar), menu (Menu) dan item menu (MenuItem). Bilah menu terdiri dari beberapa menu, dan menu terdiri dari beberapa item menu. Umumnya menu bar ditempatkan di jendela Frame, panggil saja metode setMenuBar() dari kelas Frame.
Menu-menu yang umum digunakan antara lain: menu drop-down dan menu pop-up (ditampilkan secara terpisah dan dapat muncul dimana saja).
1: Langkah-langkah membuat menu tarik-turun:
1. Buat bilah menu.
2. Panggil metode setMenuBar() pada Frame untuk menambahkan bilah menu ke Frame.
3. Buat beberapa objek Menu masing-masing dan tambahkan ke MenuBar.
4. Untuk setiap objek Menu, buat beberapa objek MenuItem dan tambahkan ke Menu.
Contoh:
Copy kode kodenya sebagai berikut:
import java.awt.*;
MenuDemo kelas publik {
Bingkai f;
MenuBarmb;
menu menuFile;
MenuItem mItemBaru, mItemTerbuka, mItemSimpan;
MenuDemo() {
f = new Frame("Contoh menu saya");
f.setBounds(300, 100, 400, 300);
mb = MenuBar baru(); // Membuat barMenuBar
menuFile = Menu baru("File");
mItemBaru = MenuItem baru("Baru");
mItemOpen = MenuItem baru("Buka");
menuFile.add(mItemBaru);
mItemSave = MenuItem baru("Simpan");
menuFile.tambahkan(mItemOpen);
//Tambahkan garis pemisah
menuFile.addSeparator();
menuFile.tambahkan(mItemSave);
mb.tambahkan(menuFile);
// Tambahkan menu "File" ke bilah menu
// setMenuBar: Menyetel bilah menu formulir ini ke bilah menu yang ditentukan.
f.setMenuBar(mb);
f.setVisible(benar);
}
public static void main(String[] args) {
MenuDemo baru();
}
}
Ada gambar dan ada kebenarannya: (Item menu drop-down tidak bisa berupa screenshot)
2: Langkah-langkah membuat menu pop-up:
1. Pertama-tama buat kerangka JFrame paling dasar.
2. Buat menu pop-up klik kanan (JPopupMenu) dan item menu tambahan (JMenuItem). 3. Gunakan metode tambah dan sisipkan untuk menambah atau menyisipkan ke JPopupMenu sesuai dengan pemicu menu pop-up, periksa semua peristiwa MouseEvent untuk melihat apakah peristiwa tersebut merupakan pemicu menu pop-up, lalu tampilkan menu pop-up bila diperlukan.
Contoh:
Copy kode kodenya sebagai berikut:
import java.awt.event.*;
import javax.swing.*;
kelas publik JPopMenu_Demo memperluas JFrame {
// Implementasi menu pop-up. Menu pop-up adalah jendela kecil yang muncul dan menampilkan serangkaian opsi.
Menu popup JPopupMenu;
publik JPopMenu_Demo() {
super("menu pop-up klik kanan"); // Memanggil konstruktor kelas induk
// Buat instance menu pop-up
popupMenu = JPopupMenu baru();
//Tambahkan item menu ke menu
popupMenu.add(JMenuItem baru("item menu"));
popupMenu.add(JButton baru("Tombol"));
popupMenu.tambahkan(JLabel baru("Label"));
acara saya();
setSize(350, 300); //Mengatur ukuran jendela
setLokasi(400, 200);
setVisible(true); // Mengatur jendela agar terlihat
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Keluar dari program saat menutup jendela
}
kekosongan pribadi acara saya() {
//Penanganan event mouse jendela
addMouseListener(MouseAdapter baru() {
//Klik tetikus
public void mousePressed(acara MouseEvent) {
//Panggil metode triggerEvent untuk menangani kejadian tersebut
triggerEvent(peristiwa);
}
// lepaskan tikus
public void mouseReleased(Acara MouseEvent) {
triggerEvent(peristiwa);
}
private void triggerEvent(MouseEvent event) {// menangani event
// isPopupTrigger(): Mengembalikan apakah event mouse ini memicu event untuk menu pop-up platform.
jika (peristiwa.isPopupTrigger())
// tampilkan menu
popupMenu.show(acara.getComponent(), acara.getX(),
acara.getY());
}
});
}
public static void main(String args[]) {
JPopMenu_Demo baru();
}
}
Ada gambar dan kenyataannya (tapi jelek sekali)
Tiga: Bentuk tab:
1. Instruksi dasar:
2. Metode yang umum digunakan:
Kami menambahkan beberapa objek JPanel ke JTabbedPanel. dan sekali lagi
Tambahkan JTabbedPanel pada form, kodenya sebagai berikut:
Copy kode kodenya sebagai berikut:
JTabbedPane jp=new JTabbedPane(JTabbedPane.LEFT); //Atur koordinat tab
JPanel p1=JPanel baru();
JPanel p2=JPanel baru();
JPanel p3=JPanel baru();
JPanel p4=new JPanel(); //Membuat beberapa container
jp.add("Formulir1", p1);
jp.add("Formulir 2", p2);
jp.add("Form 3", p3);//Tambahkan subkontainer dan tambahkan nama ke tab
this.add(jp,BorderLayout.CENTER); //Tambahkan formulir tab ke formulir utama
3. Contoh kode dan tangkapan layar:
Copy kode kodenya sebagai berikut:
import java.awt.*;
import javax.swing.*;
/**
* <p>Judul: Demonstrasi tab</p>
* <p>Deskripsi: Berikut adalah demonstrasi tab. Klik pada kartu yang berbeda untuk menampilkan konten yang berbeda</p>
*/
kelas publik JTabbedPaneDemo1 memperluas JPanel {
publik JTabbedPaneDemo1() {
super(GridLayout baru(1, 1));
Ikon ImageIcon = createImageIcon("images/MyIcon.gif");
JTabbedPane tabbedPane = JTabbedPane baru();
Panel komponen1 = makeTextPanel("#Kartu Pertama#");
tabbedPane.addTab("Satu", ikon, panel1, "Informasi prompt kartu pertama!");
tabbedPane.setSelectedIndex(0);
Panel komponen2 = makeTextPanel("##Kartu Kedua##");
tabbedPane.addTab("Dua", ikon, panel2, "Informasi cepat kartu kedua!");
Panel komponen3 = makeTextPanel("###Kartu ketiga###");
tabbedPane.addTab("Tiga", ikon, panel3, "Informasi cepat kartu ketiga!");
Panel komponen4 = makeTextPanel("####Kartu keempat####");
tabbedPane.addTab("Empat", ikon, panel4, "Informasi cepat kartu keempat!");
//Tambahkan tab ke panl
tambahkan(tabbedPane);
}
/**
* <br>
* Deskripsi metode: Tambahkan informasi ke tab<br>
* Parameter masukan: Teks string Konten informasi yang ditampilkan<br>
* Jenis pengembalian: Objek anggota komponen
*/
Komponen yang dilindungi makeTextPanel(String teks) {
Panel JPanel = JPanel baru (salah);
Pengisi JLabel = JLabel baru(teks);
filler.setHorizontalAlignment(JLabel.CENTER);
panel.setLayout(GridLayout baru(1, 1));
panel.add(pengisi);
panel kembali;
}
/**
* <br>
*Deskripsi metode: Dapatkan gambarnya<br>
* Parameter masukan: Jalur gambar jalur string<br>
* Jenis pengembalian: objek gambar ImageIcon
*/
dilindungi imageIcon statis createImageIcon(jalur string) {
// java.net.URL imgURL = TabbedPaneDemo.class.getResource(jalur);
jika (jalur != null) {
kembalikan ImageIcon baru (jalur);
} kalau tidak {
System.out.println("Tidak dapat menemukan file: " + jalur);
kembalikan nol;
}
}
public static void main(String[] args) {
// Gunakan deskripsi formulir Ayunan
// JFrame.setDefaultLookAndFeelDecorated(benar);
mencoba {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} tangkapan (Pengecualian e) {
}
//Buat formulir
JFrame bingkai = JFrame baru("TabbedPaneDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(JTabbedPaneDemo1() baru, BorderLayout.CENTER);
// menampilkan formulir
bingkai.setSize(400, 200);
frame.setVisible(benar);
}
}