Java圖形界面之JFrame,JLabel,JButton詳解
一、JFrame
package Demo03; import javax.swing.*; import java.awt.*; public class JFrame01 { public static void main(String[] args) { JFrame f = new JFrame("第一個(gè)Swing窗體"); Dimension d = new Dimension(); // 創(chuàng)建一個(gè)Dimension 對(duì)象,通過(guò)設(shè)置這個(gè)對(duì)象去達(dá)到改變Frame窗體大小的目的 d.setSize(230,80); // set方法設(shè)置d對(duì)象大小 f.setSize(d); // 這里就是通過(guò)設(shè)置JFrame的大小為Dimension的大小的方法,去達(dá)到改變大小的目的 f.setBackground(Color.WHITE); // 設(shè)置顏色 Point p = new Point(300,200); // 設(shè)置坐標(biāo)點(diǎn),原理一樣 f.setLocation(p); // 原理一樣,因?yàn)樵O(shè)置的點(diǎn)是窗體的左上角,所以這么設(shè)置即可 f.setVisible(true); // 讓窗體顯示 /* 窗體首先需要能夠顯示出來(lái) //f.setVisible(true); 以上便能夠使窗體顯示出來(lái) 然后是窗體的 大小以及位置,也就是約束 //f.setSize() 和 f.setLocation() 可以改變其大小和位置,也就是建立約束 其他的設(shè)置如底色等,如果缺省,會(huì)是白色 //f.setBackground(Color.WHITE); */ } }
代碼截圖:
運(yùn)行結(jié)果:
照著代碼敲一遍,然后注釋掉一部分代碼,查看報(bào)錯(cuò)提示或者運(yùn)行結(jié)果
從這個(gè)角度去學(xué)習(xí)也是可以的
二、JLabel
package Demo03; import javax.swing.*; import java.awt.*; public class JFrame02 { public static void main(String args[]){ JFrame frame = new JFrame("Welcome to Libra's learning space."); // 實(shí)例化窗口對(duì)象,這里主要是設(shè)置顯示文字內(nèi)容 JLabel lab = new JLabel("It is inside of learning space.",JLabel.CENTER); // 實(shí)例化標(biāo)簽文本,這里主要是設(shè)置顯示文字內(nèi)容 frame.add(lab); // 將標(biāo)簽添加進(jìn)窗口 frame.setSize(500,300); // 設(shè)置窗口大小 frame.setBackground(Color.WHITE); // 設(shè)置窗口底色 frame.setLocation(300,200); // 設(shè)置窗口位置 frame.setVisible(true); // 設(shè)置窗口顯示 /* 其他的組件需要通過(guò)添加才能夠在窗口上 //frame.add(lab); 這里傳入了兩個(gè)參數(shù),一個(gè)是文本內(nèi)容,一個(gè)是文本樣式,其中選擇了居中,可以通過(guò)拖動(dòng)窗口來(lái)檢查是否居中 //JLabel lab = new JLabel("It is inside of learning space.",JLabel.CENTER); 在java中,所有的東西都是對(duì)象,所以都需要先實(shí)例化,也就是new一個(gè)出來(lái),然后通過(guò)設(shè)置這個(gè)實(shí)例化后的對(duì)象進(jìn)行使用 其他的與上一張基本一致,這里不再贅述 */ } }
代碼截圖:
運(yùn)行結(jié)果:
三、JButton
package Demo03; import javax.swing.*; import java.awt.*; public class JFrame03 { public static void main(String args[]){ JFrame frame = new JFrame("Welcome to Libra's learning space."); // 實(shí)例化窗口對(duì)象,這里主要是設(shè)置顯示文字內(nèi)容 JButton but = new JButton("It is Button."); // 實(shí)例化按鈕 JLabel lab = new JLabel("This is Libra's learning space.",JLabel.CENTER); // 實(shí)例化標(biāo)簽對(duì)象 frame.add(but); // 將按鈕添加進(jìn)窗口 frame.add(lab); // 將標(biāo)簽添加進(jìn)窗口 frame.setSize(500,300); // 設(shè)置窗口大小 frame.setBackground(Color.WHITE); // 設(shè)置窗口底色 frame.setLocation(300,200); // 設(shè)置窗口位置 frame.setVisible(true); // 設(shè)置窗口顯示 but.setBounds(0,0,100,50); // 設(shè)置按鈕大小及位置 lab.setBounds(0,0,50,50); /* 實(shí)例化標(biāo)簽組件是為了不讓按鈕默認(rèn)樣式生效,當(dāng)只有一個(gè)按鈕組件的時(shí)候,默認(rèn)填滿(mǎn)整個(gè)窗口,讀者可以自己手動(dòng)嘗試一下,復(fù)制了代碼后將標(biāo)簽相關(guān)的代碼注釋掉 四個(gè)值都為int類(lèi)型,分別是位置和大小 // but.setBounds(x,y,width,height); 按鈕的顯示文本可以像示例中這樣實(shí)例化時(shí)設(shè)置,也可以稍后設(shè)置 下面第一行和后兩行的效果是一樣的,讀者可以手動(dòng)嘗試一下 // JButton but = new JButton("It is Button."); // JButton but = new JButton(); // but.setLabel("It is Button."); 其他的與前幾張相差不大,這里不做贅述 */ } }
代碼截圖:
運(yùn)行結(jié)果:
四、小結(jié)
想要達(dá)到圖形化界面,那目的就是展示一些什么,例如圖片,文字等。
而這些不能憑空產(chǎn)生,需要有一個(gè)能夠裝載其的容器,也就是窗口,接下來(lái)需要展示的內(nèi)容都會(huì)在這個(gè)窗口上,窗口里。
窗口可以顯示出來(lái),但是計(jì)算機(jī)不知道會(huì)是什么樣的,所以需要我們自己去設(shè)定其樣式。
樣式的設(shè)定可以缺省,一般來(lái)講缺省了不會(huì)報(bào)錯(cuò),因?yàn)槠渲皇怯幸粋€(gè)默認(rèn)值,所以缺省了會(huì)設(shè)定為默認(rèn)值,例如窗口底色,大小,位置
窗口的形狀等都可以自己去設(shè)定,具體的可以查閱官方文檔主動(dòng)學(xué)習(xí)
JLabel中不止可以設(shè)置文字,還可以設(shè)置圖片,將圖像數(shù)據(jù)以byte數(shù)組的形式設(shè)置上去
那既然JLabel可以,JButton上也是可以的,具體的可以查閱官方文檔了解
到此這篇關(guān)于Java圖形界面之JFrame、JLabel、JButton詳解的文章就介紹到這了,更多相關(guān)Java JFrame、JLabel、JButton內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于resty?security的Api權(quán)限控制與事務(wù)支持
這篇文章主要為大家介紹了基于resty?security的Api權(quán)限控制與事務(wù)支持讓數(shù)據(jù)操作處于事務(wù)控制下,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-03-03基于多網(wǎng)卡環(huán)境下Eureka服務(wù)注冊(cè)IP的選擇問(wèn)題
這篇文章主要介紹了基于多網(wǎng)卡環(huán)境下Eureka服務(wù)注冊(cè)IP的選擇問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03Spring Framework遠(yuǎn)程代碼執(zhí)行漏洞分析(最新漏洞)
Spring Framework 是一個(gè)開(kāi)源應(yīng)用框架,旨在降低應(yīng)用程序開(kāi)發(fā)的復(fù)雜度,它具有分層體系結(jié)構(gòu),允許用戶(hù)選擇組件,同時(shí)還為 J2EE 應(yīng)用程序開(kāi)發(fā)提供了一個(gè)有凝聚力的框架,對(duì)Spring遠(yuǎn)程代碼執(zhí)行漏洞相關(guān)知識(shí)感興趣的朋友一起看看吧2022-04-04Java中如何將list轉(zhuǎn)為樹(shù)形結(jié)構(gòu)
這篇文章主要介紹了Java中如何將list轉(zhuǎn)為樹(shù)形結(jié)構(gòu),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09SpringBoot?+DynamicDataSource切換多數(shù)據(jù)源的全過(guò)程
這篇文章主要介紹了SpringBoot?+DynamicDataSource切換多數(shù)據(jù)源的全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01SpringAop @Aspect織入不生效,不執(zhí)行前置增強(qiáng)織入@Before方式
這篇文章主要介紹了SpringAop @Aspect織入不生效,不執(zhí)行前置增強(qiáng)織入@Before方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12Spring Boot報(bào)錯(cuò):No session repository could be auto-configured
這篇文章主要給大家介紹了關(guān)于Spring Boot報(bào)錯(cuò):No session repository could be auto-configured, check your configuration的解決方法,文中給出了詳細(xì)的解決方法,對(duì)遇到這個(gè)問(wèn)題的朋友們具有一定參考價(jià)值,需要的朋友下面來(lái)一起看看吧。2017-07-07