jpane1_Java—面板组件(Jpanel)1
Java—面板組件(Jpanel)1
存在的原因:
如果是普通的組件布局,用之前講到的三種布局管理器就可以解決,但是在比較復雜的要求時就需要用到布局管理器的組合使用。比如下圖:
JPanel:面板組件,非頂層容器。
一個界面只能有一個JFrame 窗體組件,但是可以有多個JPpanel面板組件,而且在JPanel上也是可以用FlowLayOut,BorderLayOut,GirdLayOut等各種布局管理器,這樣組合使用,可以達到較為復雜的布局效果。
整體的構造:JPanel相當于將整個窗體劃分成幾個面板,然后在面板中使用布局管理器(管理按鈕的布局),如上圖,窗體被劃分成2個面板,中間的那個是按鈕,然后在面板中使用BorderLayOut管理器,然后在面板中加入按鈕。
案例:如上圖
/*
* 面板組件:多種布局管理器的組合
* 6個按鈕,2個JPanel
*/
package com.panhui;
import java.awt.*;
import javax.swing.*;
public classDemo10_17 extends JFrame{
//定義組件
JPaneljp1,jp2;
JButtonjb1,jb2,jb3,jb4,jb5,jb6;
public static void main(String[] args) {
//TODOAuto-generated method stub
Demo10_17? demo = newDemo10_17();
}
//構造函數
public Demo10_17()
{
//創建按組件
//JPanel布局默認的是FlowLayOut
jp1 = new JPanel();
jp2 = new JPanel();
jb1 = new JButton(“西瓜“);
jb2 = new JButton(“香蕉“);
jb3 = new JButton(“菠蘿“);
jb4 = new JButton(“蘋果“);
jb5 = new JButton(“葡萄“);
jb6 = new JButton(“柚子“);
//設置布局
//將按鈕添加到JPanel
jp1.add(jb1);
jp1.add(jb2);
jp2.add(jb3);
jp2.add(jb4);
jp2.add(jb5);
//將Panel加入JFrame
this.add(jp1,BorderLayout.NORTH);
this.add(jp2,BorderLayout.SOUTH);
this.add(jb6,BorderLayout.CENTER);
//窗體的設置
this.setTitle(“面板組件“);
this.setSize(399, 399);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation(200,200);
//顯示
this.setVisible(true);
}
}
結果:
注意事項:
1, JPanel ?是JComponent的子類
2, 屬于容器類組件,可以加入別的組件
3, 默認布局管理器,流式布局(FlowLayOut)
幾個常用的組件
1, 文本框(JTextFiled)
2, 密碼框(JPasswordField)
3, 標簽(JLable)
代碼:
package com.panhui;
import java.awt.*;
import javax.swing.*;
public classDemo10_17_1 extends JFrame{
//定義組件
//三個JPanel,三個標簽,兩個按鈕,一個文本框組件,一個密碼框組件
JPaneljp1,jp2,jp3;
JLabeljlb1,jlb2;
JButtonjb1,jb2;
JTextFieldjtf1;
JPasswordFieldjpf1;
public static void main(String[] args) {
//TODOAuto-generated method stub
Demo10_17_1? demo10_17_1 = newDemo10_17_1();
}
//構造函數
public Demo10_17_1()
{
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = newJPanel();
jlb1 = new JLabel(“管理員“);
jlb2 = new JLabel(“密碼“);
jb1 = new JButton(“登陸“);
jb2 = new JButton(“取消“);
//寬度為10
jtf1 = new JTextField(10);
jpf1 = new JPasswordField(10);
//設置布局管理器
this.setLayout(new GridLayout(3,1));
//加入各個組件
jp1.add(jlb1);
jp1.add(jtf1);
jp2.add(jlb2);
jp2.add(jpf1);
jp3.add(jb1);
jp3.add(jb2);
//設置窗口
this.add(jp1);
this.add(jp2);
this.add(jp3);
this.setSize(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//顯示
this.setVisible(true);
}
}
結果:
總結
以上是生活随笔為你收集整理的jpane1_Java—面板组件(Jpanel)1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中怎么表示数组中的某个值_简易J
- 下一篇: Excel设置下拉菜单并隐藏下拉菜单来源