欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java的GUI實(shí)現(xiàn)簡(jiǎn)單切換界面

 更新時(shí)間:2022年04月26日 12:01:32   作者:qq_43919694  
這篇文章主要為大家詳細(xì)介紹了java的GUI實(shí)現(xiàn)簡(jiǎn)單切換界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了java GUI實(shí)現(xiàn)簡(jiǎn)單切換界面的具體代碼,供大家參考,具體內(nèi)容如下

1.關(guān)于java的GUI簡(jiǎn)單切換界面

在剛開(kāi)始學(xué)習(xí)java的gui界面設(shè)計(jì)的時(shí)候因?yàn)檎n本上沒(méi)有相關(guān)切換界面的介紹,所以如何進(jìn)行簡(jiǎn)單的一個(gè)界面切換困擾了我很久。因此我上網(wǎng)看了一些代碼,卻發(fā)現(xiàn)網(wǎng)上的大多數(shù)代碼都很繁瑣,仔細(xì)看下去感覺(jué)有許多冗余,雖然那些代碼達(dá)到了切換界面的目的,但也有其它一些我暫時(shí)用不上的功能。
簡(jiǎn)而言之,就是網(wǎng)上這部分的代碼不夠精簡(jiǎn)。于是我開(kāi)始單單把這一簡(jiǎn)單的功能剝離出來(lái)。廢話(huà)不多說(shuō)還是先上代碼吧,想說(shuō)的話(huà)都在注釋里。 視圖部分代碼:

import java.awt.BorderLayout;
import javax.swing.*;

public class View extends JFrame {
?? ?public void view()
?? ?{
?? ??? ?ViewAction exwpAction=new ViewAction(this);//提前定義好動(dòng)作對(duì)象
?? ??? ?setLayout(new BorderLayout());//使用BorderLayout布局
?? ??? ?setSize(400,400);//設(shè)置界面大小
?? ??? ?this.setTitle("視圖1界面");//設(shè)置界面名稱(chēng)
?? ??? ?JButton eb=new JButton("視圖2");//設(shè)置切換的按鈕eb
?? ??? ?JLabel tip_l=new JLabel("視圖1",0);//界面的內(nèi)容,這里用一個(gè)標(biāo)簽來(lái)替代具體內(nèi)容,后面的“0”是為了使這個(gè)標(biāo)簽居中對(duì)齊
?? ??? ?eb.addActionListener(exwpAction);//為eb這個(gè)按鈕添加按鍵監(jiān)聽(tīng)
?? ??? ?add(tip_l, BorderLayout.CENTER);//將tip_l這個(gè)標(biāo)簽添加到布局的中間
?? ??? ?add(eb, BorderLayout.SOUTH);//將按鈕eb添加到布局的下方
?? ??? ?setVisible(true);//使視圖可視化
?? ?}
?? ?public void view2()
?? ?{
?? ??? ?ViewAction exwpAction=new ViewAction(this);
?? ??? ?setLayout(new BorderLayout());
?? ??? ?setSize(400,400);
?? ??? ?this.setTitle("視圖2界面");
?? ??? ?JButton eb=new JButton("視圖1");
?? ??? ?JLabel tip_l=new JLabel("視圖2",0);
?? ??? ?eb.addActionListener(exwpAction);
?? ??? ?add(tip_l, BorderLayout.CENTER);
?? ??? ?add(eb, BorderLayout.SOUTH);
?? ??? ?setVisible(true);
?? ?}

}

動(dòng)作部分代碼:

import java.awt.event.ActionEvent;

public class ViewAction implements java.awt.event.ActionListener {
?? ?/*
?? ? * 這一部分是因?yàn)槲野呀缑婧蛣?dòng)作分開(kāi)成兩個(gè)類(lèi)來(lái)寫(xiě)了才需要進(jìn)行對(duì)象的傳遞如果動(dòng)作和界面在一個(gè)對(duì)象中寫(xiě)的話(huà)就不需要傳入對(duì)象了
?? ? */
?? ?View v=new View();//先定義一個(gè)View對(duì)象在切換界面的時(shí)候會(huì)使用到
?? ?public ViewAction(View v)//將外界的View對(duì)象傳入這個(gè)類(lèi)里?
?? ?{
?? ??? ?this.v=v;
?? ?}
?? ?public void actionPerformed(ActionEvent event)
?? ?{
?? ?Object object=event.getSource();//創(chuàng)建事件源對(duì)象
?? ?switch(event.getActionCommand()){
?? ?//如果按下視圖1
?? ?case "視圖1":
?? ??? ?//這里之所以先創(chuàng)建新視圖再關(guān)閉舊視圖是因?yàn)榉催^(guò)來(lái)的話(huà)我們會(huì)發(fā)現(xiàn)延遲看上去會(huì)有一些難受
?? ??? ?new View().view();//new一個(gè)View類(lèi)并調(diào)用里面的view函數(shù)
?? ??? ?v.setVisible(false);//關(guān)閉穿進(jìn)來(lái)的那個(gè)類(lèi)的視圖
?? ??? ?break;
?? ?//如果按下視圖2
?? ?case "視圖2":
?? ??? ?new View().view2();
?? ??? ?v.setVisible(false);
?? ??? ?}
?? ?}

}

主類(lèi)部分代碼:

public class Main {
?? ?public static void main(String[] args) {
?? ??? ?View v=new View();
?? ??? ?v.view();
?? ?}

}

運(yùn)行效果:

運(yùn)行主類(lèi)后:

點(diǎn)擊視圖2后

點(diǎn)擊視圖1后

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java設(shè)計(jì)模式之代理模式原理及實(shí)現(xiàn)代碼分享

    Java設(shè)計(jì)模式之代理模式原理及實(shí)現(xiàn)代碼分享

    這篇文章主要介紹了Java設(shè)計(jì)模式之代理模式原理及實(shí)現(xiàn)代碼分享,設(shè)計(jì)代理模式的定義,靜態(tài)代理,動(dòng)態(tài)代理,jdk動(dòng)態(tài)代理實(shí)現(xiàn)步驟,原理及源碼等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • SpringMVC使用注解實(shí)現(xiàn)登錄功能

    SpringMVC使用注解實(shí)現(xiàn)登錄功能

    這篇文章主要為大家詳細(xì)介紹了SpringMVC使用注解實(shí)現(xiàn)登錄功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • springboot實(shí)現(xiàn)公眾號(hào)接收回復(fù)消息和超過(guò)5秒被動(dòng)回復(fù)消息

    springboot實(shí)現(xiàn)公眾號(hào)接收回復(fù)消息和超過(guò)5秒被動(dòng)回復(fù)消息

    本文主要介紹了springboot實(shí)現(xiàn)公眾號(hào)接收回復(fù)消息和超過(guò)5秒被動(dòng)回復(fù)消息,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • SpringMVC實(shí)現(xiàn)賬號(hào)只能在一處登陸

    SpringMVC實(shí)現(xiàn)賬號(hào)只能在一處登陸

    這篇文章主要為大家詳細(xì)介紹了SpringMVC如何實(shí)現(xiàn)賬號(hào)只能在一處登陸,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Java多線(xiàn)程之悲觀(guān)鎖與樂(lè)觀(guān)鎖

    Java多線(xiàn)程之悲觀(guān)鎖與樂(lè)觀(guān)鎖

    這篇文章主要為大家詳細(xì)介紹了Java悲觀(guān)鎖與樂(lè)觀(guān)鎖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • Spring Boot Test詳解

    Spring Boot Test詳解

    Spring Test與JUnit等其他測(cè)試框架結(jié)合起來(lái),提供了便捷高效的測(cè)試手段,而Spring Boot Test 是在Spring Test之上的再次封裝,增加了切片測(cè)試,增強(qiáng)了mock能力,這篇文章主要介紹了Spring Boot Test介紹,需要的朋友可以參考下
    2024-02-02
  • 通過(guò)Maven進(jìn)行jedis連接redis的實(shí)現(xiàn)

    通過(guò)Maven進(jìn)行jedis連接redis的實(shí)現(xiàn)

    這篇文章主要介紹了通過(guò)Maven進(jìn)行jedis連接redis的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • Java實(shí)現(xiàn)的模糊匹配某文件夾下的文件并刪除功能示例

    Java實(shí)現(xiàn)的模糊匹配某文件夾下的文件并刪除功能示例

    這篇文章主要介紹了Java實(shí)現(xiàn)的模糊匹配某文件夾下的文件并刪除功能,涉及java針對(duì)目錄與文件的遍歷、匹配、判斷、刪除等相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02
  • Java一致性Hash算法的實(shí)現(xiàn)詳解

    Java一致性Hash算法的實(shí)現(xiàn)詳解

    這篇文章主要介紹了Java一致性Hash算法的實(shí)現(xiàn)詳解,hash的意思是散列,目的將一組輸入的數(shù)據(jù)均勻的分開(kāi)、打散,往往用來(lái)配合路由算法做負(fù)載均衡,多用在分布式系統(tǒng)中,需要的朋友可以參考下
    2024-01-01
  • Java中引用類(lèi)型class的用法總結(jié)

    Java中引用類(lèi)型class的用法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了Java中引用類(lèi)型class的用法的相關(guān)資料,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Java有一定幫助,感興趣的可以了解一下
    2022-10-10

最新評(píng)論