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
JPanel示例
使用编辑器创建以下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(yiibai.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);
}
}
执行上面示例代码,得到以下结果: