Rumah > Java > javaTutorial > teks badan

Bagaimana Menukar Panel Secara Dinamik Dalam JFrame?

Mary-Kate Olsen
Lepaskan: 2024-10-25 04:16:02
asal
878 orang telah melayarinya

How to Dynamically Swap Panels Within a JFrame?

Menukar Panel Secara Dinamik dalam JFrame

Dalam aplikasi Java Swing ini, JPanel dalam JFrame perlu ditukar dengan JPanel lain berdasarkan tindakan pengguna. Meneroka pendekatan yang sesuai untuk mencapai ini, kod di bawah telah diuji:

panel = new CustomJPanelWithComponentsOnIt();
parentFrameJPanelBelongsTo.pack();
Salin selepas log masuk

Walau bagaimanapun, pendekatan ini gagal menukar panel.

Penyelesaian: Memanfaatkan Tata Letak Kad

Penyelesaian ideal untuk senario ini terletak pada penggunaan CardLayout, pengurus susun atur yang membolehkan paparan berbilang panel sambil secara terpilih memaparkan hanya satu panel pada masa tertentu.

Untuk melaksanakan CardLayout, langkah berikut boleh diambil:

  1. Buat objek CardLayout:

    CardLayout cardLayout = new CardLayout();
    Salin selepas log masuk
  2. Tetapkan susun atur bekas yang akan memegang panel (cth., JFrame):

    parentFrameJPanelBelongsTo.setLayout(cardLayout);
    Salin selepas log masuk
  3. Tambah panel pada bekas menggunakan kekangan CardLayout:

    parentFrameJPanelBelongsTo.add(new CustomJPanelWithComponentsOnIt(), "panel1");
    parentFrameJPanelBelongsTo.add(new AnotherJPanel(), "panel2");
    Salin selepas log masuk
  4. Tetapkan panel awal kepada dipaparkan:

    cardLayout.show(parentFrameJPanelBelongsTo, "panel1");
    Salin selepas log masuk
  5. Tukar panel aktif secara dinamik berdasarkan interaksi pengguna:

    cardLayout.show(parentFrameJPanelBelongsTo, "panel2");
    Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana Menukar Panel Secara Dinamik Dalam JFrame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!