JPanel
類是一個通用的輕量級容器。
以下是javax.swing.JPanel
類的宣告 -
public class JPanel
extends JComponent
implements Accessible
編號 | 建構函式 | 描述 |
---|---|---|
1 | JPanel() |
使用雙緩衝區和流布局建立新的JPanel 。 |
2 | JPanel(boolean isDoubleBuffered) |
使用FlowLayout 和指定的緩衝策略建立新的JPanel 。 |
3 | JPanel(LayoutManager layout) |
使用指定的布局管理器建立新的緩衝JPanel 。 |
4 | JPanel(LayoutManager layout, boolean isDoubleBuffered) |
使用指定的布局管理器和緩衝策略建立新的JPanel 。 |
編號 | 類方法 | 描述 |
---|---|---|
1 | AccessibleContext getAccessibleContext() |
獲取與此JPanel 關聯的AccessibleContext 。 |
2 | PanelUI getUI() |
返回呈現此元件的外觀(L&F)物件。 |
3 | String getUIClassID() |
返回一個字串,該字串指定呈現此元件的L&F類的名稱。 |
4 | protected String paramString() |
返回此JPanel 的字串表示形式。 |
5 | void setUI(PanelUI ui) |
設定呈現此元件的外觀(L&F)物件。 |
6 | void updateUI() |
使用當前外觀中的值重置UI屬性。 |
該類繼承以下類中的方法 -
javax.swing.JComponent
java.awt.Container
java.awt.Component
java.lang.Object
使用編輯器建立以下Java程式:JPanelDemo.java
package com.yiibai.menu;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JPanelDemo {
private JFrame mainFrame;
private JLabel headerLabel;
private JLabel statusLabel;
private JPanel controlPanel;
private JLabel msglabel;
public JPanelDemo(){
prepareGUI();
}
public static void main(String[] args){
JPanelDemo swingContainerDemo = new JPanelDemo();
swingContainerDemo.showJPanelDemo();
}
private void prepareGUI(){
mainFrame = new JFrame("Java Swing JPanelDemo(tw511.com)");
mainFrame.setSize(400,400);
mainFrame.setLayout(new GridLayout(3, 1));
mainFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent){
System.exit(0);
}
});
headerLabel = new JLabel("", JLabel.CENTER);
statusLabel = new JLabel("",JLabel.CENTER);
statusLabel.setSize(350,100);
msglabel = new JLabel("Welcome to Yiibai SWING Tutorial.", JLabel.CENTER);
controlPanel = new JPanel();
controlPanel.setLayout(new FlowLayout());
mainFrame.add(headerLabel);
mainFrame.add(controlPanel);
mainFrame.add(statusLabel);
mainFrame.setVisible(true);
}
private void showJPanelDemo(){
headerLabel.setText("Container in action: JPanel");
JPanel panel = new JPanel();
panel.setBackground(Color.blue);
panel.setLayout(new FlowLayout());
panel.add(msglabel);
controlPanel.add(panel);
mainFrame.setVisible(true);
}
}
執行上面範例程式碼,得到以下結果: