1. 程式人生 > >14.3-全棧Java筆記:JPanel原來是這樣用的

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

java

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


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

1 JPanel常用構造方法一覽表

構造方法

說明

JPanel()

創建默認布局(FlowLayout)的面板

JPanel(LayoutManager layout)

以指定的布局管理器創建面板

JPanel的無參構造方法是在創建一個容器的時候,該容器的默認布局管理器是流式布局(布局管理器後面會講解)。所以如果我們要按坐標定位的方式設置該容器中各個控件的位置,要使用參數類型為LayoutManager的有參構造方法,若該方法傳入null,就可以使用坐標定位法定位每個控件在容器中的位置。

JPanel的常用方法如表2所示。

表2 JPanel常用方法一覽表

方法

說明

void setLayout(LayoutManager layout)

以指定布局管理器設置面板的布局

Component add(Component comp)

往面板內添加控件

void setBackground(Color bg)

設置面板的背景色

了解了JPanel類常用的構造方法和成員方法後,接下來我們在之前創建的窗口上添加容器,並使用坐標定位法設置容器中各個控件的位置,如示例1所示。

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

package cn.sxt.views.testjpanel;

import java.awt.Color;

import javax.swing.JFrame;

import javax.swing.JPanel;

class JPanelDemo extends JFrame {

private JPanel pnlMain;

public JPanelDemo() {

//實例化容器時使用空布局(坐標定位法)

pnlMain = new JPanel(null);

init();

}

//該方法對窗口做初始化

private void init() {

//關閉窗口時,程序結束

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//設置窗口標題欄上信息

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

//設置窗口大小為寬:500,高:400

this.setSize(500, 400);

//設置窗口不能被調整大小

this.setResizable(false);

//此行代碼是給容器設置背景顏色

pnlMain.setBackground(Color.black);

//將容器添加在窗口上

this.add(pnlMain);

//設置窗口可見

this.setVisible(true);

}

}

public class Test {

public static void main(String[ ] args) {

//調用JPanelDemo的構造方法創建並顯示窗體

new JPanelDemo();

}

}

註意:之所以設置容器背景顏色是為了讓大家看到該容器,因為容器默認是透明的,不設置背景顏色是看不見的。執行結果如圖所示

技術分享

圖 示例1運行效果圖



「全棧Java筆記」是一部能幫大家從零到一成長為全棧Java工程師系列筆記。筆者江湖人稱 Mr. G,10年Java研發經驗,曾在神州數碼、航天院某所研發中心從事軟件設計及研發工作,從小白逐漸做到工程師、高級工程師、架構師。精通Java平臺軟件開發,精通JAVAEE,熟悉各種流行開發框架。


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

A-Java入門階段

B-數據庫從入門到精通

C-手刃移動前端和Web前端

D-J2EE從了解到實戰

E-Java高級框架精解

F-Linux和Hadoop


本文出自 “全棧Java筆記” 博客,請務必保留此出處http://javanew.blog.51cto.com/12931675/1955440

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