當前位置:編程學習大全網 - 編程語言 - JAVA中的JPanel怎麽使用呢?

JAVA中的JPanel怎麽使用呢?

使用方法:

JPanel可以為添加到窗體中的輕型控件提供通用的容器。默認情況下,面板容器不會向控件添加任何除自身背景之外的顏色,但是,可以輕松地向其添加邊框(borders)並根據需要改制樣式。

在大多數Java GUI外觀體驗(look and feel)中,面板容器默認是不透明。不透明的面板容器跟普通的目錄窗格功能差別不大,並且可以有效幫助樣式改進。

設置圖層管理器

和其他容器(container)壹樣,面板容器panel也使用布局管理器(Layout Manager)對添加到容器中的組件(compnent)進行定位和設置尺寸大小。

默認情況下,面板容器的布局管理器是FlowLayout(流式布局)類的壹個實例,這個類對放置在容器中的空間按行進行布局(從左到右諸行排列)。在創建面板容器時,妳可以輕松地使用任何其他

布局管理器通過調用setLayout方法或指定壹個布局管理器。

如下是壹個在創建面板容器時設置圖層管理器的例子:

JPanel p=new JPanel(new BorderLayout());

但這種方法不能用在BoxLayout(盒子布局)中,因為BoxLayout構造器需要壹個預留(pre-existing)容器。如下所示:

JPanel p=new JPanel();

p.setLayout(new BoxLayout(p,BoxLayout.PAGE_AXIS));

添加控件

向面板容器中添加組件時使用add()方法,而向add()方法中傳遞的參數決定於該面板容器使用哪個布局管理器。當所用的布局管理器是FlowLayout,BoxLayout,GridLayout,或SpringLayout時,像通常那樣向add()方法傳遞單壹的參數即可,如下所示:

aFlowPanel.add(aComponent);

aFlowPanel.add(anotherComponent);

而當布局管理器為BorderLayout時,還需要提供另壹個參數來指定添加到容器中控件的位置,例如:

aBorderPanel.add(aComponent,BorderLayout.CENTER);

aBorderPanel.add(anotherComponent,BorderLayout.PAGE_END);

對於GridBagLayout布局管理器,可以使用上述任壹方法,但必須以某種方式對每個組件指定GridBagConstraints,例如:

JPanel pane=new JPanel(new GridBagLayout());

GridBagConstraints c=new GridBagConstraints();

警告

Swing不是線程安全的。

此類的序列化對象與以後的Swing版本不兼容。當前序列化支持適用於短期存儲,或適用於在運行相同Swing版本的應用程序之間進行RMI(Remote Method Invocation,遠程方法調用)。

擴展資料:

JPanel壹個面板也是壹個容器JPanel Pan=new JPanel();

Pan.setLayout(null);//設置為空布局也就是自由布局

Pan.add(控件);//添加控件

JPanel是java圖形化界面中最常使用的容器。實例:在窗體中添加壹個藍色的面板

//PanelDemo.java

import javax.swing.*;

import java.awt.*;//引入AWT包,因為要使用到顏色類

class PanelDemo{

public static void main(String[]args)throws Exception

{JFrame f=new JFrame("第壹個Java窗口");

f.setSize(300,200);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

f.setVisible(true);

f.setResizable(false);

f.setLocationRelativeTo(null);

f.setLayout(null);//設置窗體布局為空布局

JPanel p=new JPanel();//實例化壹個面板

//設置面板背景色為藍色,如果不引入AWT包,程序將出錯,可以試試看

p.setBackground(Color.BLUE);

p.setSize(100,100);//設置面板對象大小

f.getContentPane().add(p);//將面板添加到窗體中

//如果使用下面添加面板的方法,面板將布滿整個窗口,可以試試看

//f.setContentPane(p);

}

}

參考資料:

百度百科——JPanel

  • 上一篇:c語言學不會?四個原因!
  • 下一篇:北師大萬寧附屬中學:辦優質教育 引生源回流
  • copyright 2024編程學習大全網