14.3-全棧Java筆記:JPanel原來是這樣用的

在GUI編程中,如果我們要向窗口中直接添加控件(如按鈕控件、標(biāo)簽控件、文本框控件等)是不建議的,所以就出現(xiàn)了容器(JPanel),以后我們只需要在容器里加控件,然后將容器加到窗口上即可。想象一下,窗口如同黑板的外框,我們不會(huì)在外框上寫字,我們要在被外框包含的黑板的面板上寫字,那么黑板的面板就是我們的容器,寫在黑板上的字就是控件。

JPanel作為中間容器,用于將較小的輕量級(jí)控件組合在一起,默認(rèn)情況下,它是透明的,與窗體的內(nèi)容面板類似。如表1所示,為JPanel常見的構(gòu)造方法。

JPanel的無參構(gòu)造方法是在創(chuàng)建一個(gè)容器的時(shí)候,該容器的默認(rèn)布局管理器是流式布局(布局管理器后面會(huì)講解)。所以如果我們要按坐標(biāo)定位的方式設(shè)置該容器中各個(gè)控件的位置,要使用參數(shù)類型為L(zhǎng)ayoutManager的有參構(gòu)造方法,若該方法傳入null,就可以使用坐標(biāo)定位法定位每個(gè)控件在容器中的位置。

了解了JPanel類常用的構(gòu)造方法和成員方法后,接下來我們?cè)谥皠?chuàng)建的窗口上添加容器,并使用坐標(biāo)定位法設(shè)置容器中各個(gè)控件的位置,如示例1所示。

【示例1】在窗口上添加JPanel容器

packagecn.sxt.views.testjpanel;

importjava.awt.Color;

importjavax.swing.JFrame;

importjavax.swing.JPanel;

classJPanelDemoextendsJFrame {

privateJPanelpnlMain;

publicJPanelDemo() {

//實(shí)例化容器時(shí)使用空布局(坐標(biāo)定位法)

pnlMain=newJPanel(null);

init();

}

//該方法對(duì)窗口做初始化

privatevoidinit() {

//關(guān)閉窗口時(shí),程序結(jié)束

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//設(shè)置窗口標(biāo)題欄上信息

this.setTitle("第一個(gè)窗口");

//設(shè)置窗口大小為寬:500,高:400

this.setSize(500, 400);

//設(shè)置窗口不能被調(diào)整大小

this.setResizable(false);

//此行代碼是給容器設(shè)置背景顏色

pnlMain.setBackground(Color.black);

//將容器添加在窗口上

this.add(pnlMain);

//設(shè)置窗口可見

this.setVisible(true);

}

}

publicclassTest {

publicstaticvoidmain(String[ ]args) {

//調(diào)用JPanelDemo的構(gòu)造方法創(chuàng)建并顯示窗體

newJPanelDemo();

}

}

注意:之所以設(shè)置容器背景顏色是為了讓大家看到該容器,因?yàn)槿萜髂J(rèn)是透明的,不設(shè)置背景顏色是看不見的。執(zhí)行結(jié)果如圖所示newJPanelDemo();

圖 示例1運(yùn)行效果圖


「全棧Java筆記」是一部能幫大家從零到一成長(zhǎng)為全棧Java工程師系列筆記。筆者江湖人稱 Mr. G,10年Java研發(fā)經(jīng)驗(yàn),曾在神州數(shù)碼、航天院某所研發(fā)中心從事軟件設(shè)計(jì)及研發(fā)工作,從小白逐漸做到工程師、高級(jí)工程師、架構(gòu)師。精通Java平臺(tái)軟件開發(fā),精通JAVAEE,熟悉各種流行開發(fā)框架。

筆記包含從淺入深的六大部分:

A-Java入門階段

B-數(shù)據(jù)庫從入門到精通

C-手刃移動(dòng)前端和Web前端

D-J2EE從了解到實(shí)戰(zhàn)

E-Java高級(jí)框架精解

F-Linux和Hadoop

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 布局管理器 讀者會(huì)發(fā)現(xiàn),如果使用坐標(biāo)定位法(空布局),在一個(gè)比較復(fù)雜的界面上定位每個(gè)控件的坐標(biāo)是一個(gè)非常麻煩的工作...
    全棧JAVA筆記閱讀 1,108評(píng)論 0 2
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,001評(píng)論 25 709
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,547評(píng)論 19 139
  • 柒月柒日晴7閱讀 420評(píng)論 0 0
  • 我被人陷害了。我和我室友不是一個(gè)年級(jí),關(guān)系不是特別好,幾乎不說話,我室友的書前幾天沒有了,結(jié)果在我的書柜里找到了,...
    melody2000閱讀 296評(píng)論 0 0

友情鏈接更多精彩內(nèi)容