java實現(xiàn)面板之間切換功能
本文實例為大家分享了java實現(xiàn)面板之間切換的具體代碼,供大家參考,具體內(nèi)容如下
如圖:
關(guān)鍵技術(shù):事件監(jiān)聽,設(shè)置顯示面板,重新刷新驗證。
setContentPane(jp2);//設(shè)置顯示的新面板 revalidate();//重新驗證
完整代碼如下:
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; public class ceshi2 extends JFrame{ ? ? JButton b1; ? ? JButton b2; ? ? JButton b3; ? ? JButton b4; public ceshi2() { ? ? setBounds(200, 150, 500, 300);//設(shè)置窗體大小,位置。 ? ? JPanel jp1=new JPanel();//設(shè)置兩個面板 ? ? JPanel jp2=new JPanel(); ? ? b1=new JButton("下一步"); ? ? b2=new JButton("路人甲");//按鈕2和4,標簽1和2顯示成果 ? ? b3=new JButton("上一步"); ? ? b4=new JButton("路人乙"); ? ? JLabel l1=new JLabel("這是第一個面板"); ? ? JLabel l2=new JLabel("這是第二個面板"); ? ? b1.setBounds(20, 20, 100, 40); ? ? b2.setBounds(20, 120, 100, 40); ? ? b3.setBounds(20, 20, 100, 40); ? ? b4.setBounds(20, 120, 100, 40); ? ? l1.setBounds(100, 300, 200, 50); ? ? l2.setBounds(100, 300, 200, 50); ? ? jp1.add(b1);//添加到面板1中 ? ? jp1.add(b2); ? ? jp1.add(l1); ? ? jp2.add(l2);//添加到面板2中 ? ? jp2.add(b3); ? ? jp2.add(b4); ? ? add(jp1);//首先顯示的是面板1 ? ? b1.addActionListener(new ActionListener() {//添加監(jiān)聽 ? ? ? ?? ? ? ? ? @Override ? ? ? ? public void actionPerformed(ActionEvent e) { ? ? ? ? ? ? // TODO Auto-generated method stub ? ? ? ? ? ? ? ? ? ? ? ? setContentPane(jp2);//設(shè)置顯示的新面板 ? ? ? ? ? ? revalidate();//重新驗證 ? ? ? ? ? ?? ? ? ? ? } ? ? }); ? ? b3.addActionListener(new ActionListener() { ? ? ? ? public void actionPerformed(ActionEvent e) { ? ? ? ? ? ? // TODO Auto-generated method stub ? ? ? ? ? ? ? ? ? ? ? ? setContentPane(jp1); ? ? ? ? ? ? revalidate(); ? ? ? ? } ? ? }); ? ? setVisible(true); ? ? setLayout(null); ? ? setDefaultCloseOperation(EXIT_ON_CLOSE); } public static void main(String[] args) { ? ? new ceshi2(); } }
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java中ArrayBlockingQueue和LinkedBlockingQueue
這篇文章主要介紹了Java中ArrayBlockingQueue和LinkedBlockingQueue,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-09-09Java中的轉(zhuǎn)換流、壓縮流、序列化流、打印流及應(yīng)用場景
這篇文章主要介紹了Java中的轉(zhuǎn)換流、壓縮流、序列化流、打印流及應(yīng)用場景,本文結(jié)合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06Java多線程并發(fā)編程 Volatile關(guān)鍵字
volatile 關(guān)鍵字是一個神秘的關(guān)鍵字,也許在 J2EE 上的 JAVA 程序員會了解多一點,但在 Android 上的 JAVA 程序員大多不了解這個關(guān)鍵字。只要稍了解不當就好容易導致一些并發(fā)上的錯誤發(fā)生,例如好多人把 volatile 理解成變量的鎖2017-05-05Spring session實現(xiàn)共享單點登錄案例過程解析
這篇文章主要介紹了Spring session實現(xiàn)共享單點登錄案例過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07SpringBoot實現(xiàn)application配置信息加密
在配置文件中,我們有開發(fā)環(huán)境配置和生產(chǎn)環(huán)境配置,而生產(chǎn)環(huán)境的配置信息是需要做好防護的,避免外泄,所以本文為大家整理了application配置信息加密的方法,需要的可以參考下2023-07-07Java中使用jaxp進行sax解析_動力節(jié)點Java學院整理
使用SAX的優(yōu)勢在于其解析速度較快,相對于DOM而言占用內(nèi)存較少。這篇文章主要介紹了Java中使用jaxp進行sax解析,需要的朋友可以參考下2017-08-08