java實(shí)現(xiàn)面板之間切換功能
本文實(shí)例為大家分享了java實(shí)現(xiàn)面板之間切換的具體代碼,供大家參考,具體內(nèi)容如下
如圖:
關(guān)鍵技術(shù):事件監(jiān)聽,設(shè)置顯示面板,重新刷新驗(yàn)證。
setContentPane(jp2);//設(shè)置顯示的新面板 revalidate();//重新驗(yàn)證
完整代碼如下:
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è)置兩個(gè)面板 ? ? JPanel jp2=new JPanel(); ? ? b1=new JButton("下一步"); ? ? b2=new JButton("路人甲");//按鈕2和4,標(biāo)簽1和2顯示成果 ? ? b3=new JButton("上一步"); ? ? b4=new JButton("路人乙"); ? ? JLabel l1=new JLabel("這是第一個(gè)面板"); ? ? JLabel l2=new JLabel("這是第二個(gè)面板"); ? ? 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();//重新驗(yàn)證 ? ? ? ? ? ?? ? ? ? ? } ? ? }); ? ? 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)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java中ArrayBlockingQueue和LinkedBlockingQueue
這篇文章主要介紹了Java中ArrayBlockingQueue和LinkedBlockingQueue,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-09-09Java中的轉(zhuǎn)換流、壓縮流、序列化流、打印流及應(yīng)用場(chǎng)景
這篇文章主要介紹了Java中的轉(zhuǎn)換流、壓縮流、序列化流、打印流及應(yīng)用場(chǎng)景,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06Java多線程并發(fā)編程 Volatile關(guān)鍵字
volatile 關(guān)鍵字是一個(gè)神秘的關(guān)鍵字,也許在 J2EE 上的 JAVA 程序員會(huì)了解多一點(diǎn),但在 Android 上的 JAVA 程序員大多不了解這個(gè)關(guān)鍵字。只要稍了解不當(dāng)就好容易導(dǎo)致一些并發(fā)上的錯(cuò)誤發(fā)生,例如好多人把 volatile 理解成變量的鎖2017-05-05Spring session實(shí)現(xiàn)共享單點(diǎn)登錄案例過程解析
這篇文章主要介紹了Spring session實(shí)現(xiàn)共享單點(diǎn)登錄案例過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07SpringBoot實(shí)現(xiàn)application配置信息加密
在配置文件中,我們有開發(fā)環(huán)境配置和生產(chǎn)環(huán)境配置,而生產(chǎn)環(huán)境的配置信息是需要做好防護(hù)的,避免外泄,所以本文為大家整理了application配置信息加密的方法,需要的可以參考下2023-07-07spring mvc實(shí)現(xiàn)文件上傳與下載功能
這篇文章主要為大家詳細(xì)介紹了spring mvc實(shí)現(xiàn)文件上傳與下載功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12Java中使用jaxp進(jìn)行sax解析_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
使用SAX的優(yōu)勢(shì)在于其解析速度較快,相對(duì)于DOM而言占用內(nèi)存較少。這篇文章主要介紹了Java中使用jaxp進(jìn)行sax解析,需要的朋友可以參考下2017-08-08