Bagaimana Menggunakan CardLayout untuk Menukar JPanels Di Dalam JFrame?
Oct 28, 2024 am 05:46 AMCara Menukar JPanels dalam JFrame Menggunakan CardLayout
Menukar JPanels dalam JFrame boleh menjadi tugas yang mudah. Mari kita terokai cara untuk mencapai ini dengan berkesan menggunakan teknik yang dipanggil CardLayout.
Coretan kod berikut memberikan contoh cara menggunakan CardLayout:
<code class="java">CardLayout cardLayout = new CardLayout(); JPanel mainPanel = new JPanel(cardLayout); MenuPanel menu = new MenuPanel(); GamePanel game = new GamePanel(); mainPanel.add(menu, "menu"); mainPanel.add(game, "game");</code>
Di sini, kami mencipta contoh CardLayout yang dipanggil cardLayout dan panel utama, MainPanel, yang menggunakan pengurus susun atur ini. Kami kemudian menambah dua panel, menu dan permainan, pada panel utama dengan nama masing-masing, "menu" dan "permainan".
Apabila anda memanggil kaedah gameOn(), ia menukar keterlihatan panel menggunakan cardLayout .tunjukkan(). Sebagai contoh, kod berikut:
<code class="java">public void gameOn() { cardLayout.show(mainPanel, "game"); }</code>
akan menyembunyikan panel menu dan memaparkan panel permainan di hadapan. Kaedah ini mengelakkan keperluan untuk menambah dan mengalih keluar komponen secara berterusan, yang boleh menjadi tidak cekap.
Berikut ialah contoh yang boleh anda jalankan:
<code class="java">import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.SwingUtilities; public class GameFrame extends JFrame implements ActionListener{ CardLayout cardLayout; JPanel mainPanel; MenuPanel menu; GamePanel game; public GameFrame() { // ... (similar to previous example) } // ... public void actionPerformed(ActionEvent e) { gameOn(); } public void gameOn() { // ... (similar to previous example) } public static void main(String[] args) { // ... (similar to previous example) } }</code>
Contoh ini menunjukkan penggunaan CardLayout untuk bertukar antara dengan lancar menu dan panel permainan dalam JFrame.
Atas ialah kandungan terperinci Bagaimana Menggunakan CardLayout untuk Menukar JPanels Di Dalam JFrame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?

Rangka Kerja 4 JavaScript teratas pada tahun 2025: React, Angular, Vue, Svelte

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?

Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?

Node.js 20: Peningkatan Prestasi Utama dan Ciri -ciri Baru

Iceberg: Masa Depan Jadual Data Tasik

Spring Boot Snakeyaml 2.0 CVE-2022-1471 Isu Tetap

Bagaimanakah saya dapat melaksanakan teknik pengaturcaraan berfungsi di Java?
