更新時間:2022-06-20 10:14:29 來源:動力節點 瀏覽1251次
1.邊界布局:BorderLayout。他主要分為五個布局,是JFrame(頂層容器),JDialog(創建對話框窗口的類)的默認布局方式。其最多容量為5個組件,超出5個得用其他的。設置方式為:BorderLayout.NORTH;BorderLayout.SOUTH;BorderLayout.CENTER;Borderlayout.CENTER;BorderLayout.LEFT;BorderLayout.RIGHT。
2.流式布局:FlowLayout。布局方式為從左到右,從上到下。是JPanel(輕量級容器)的默認面板布局。
3.網格布局:GridLayout。布局方式為行和列組成的網絡。布局方法:setLayout(new GridLayout(3,2,3,3));其中強兩位數字表示三行兩列,后兩位表示行與行的間距為3,列與列的間距為3.
接著,就接觸到JPanel面板。JPanel是非頂層容器,所以,一個界面只能由一個JFrame,但是可以有多個JPanel組件。其默認布局方式為流式布局。在JPanel這塊,學到了用戶登錄界面的設計。從而接觸到另外三個組件:文本框組件:JTextField;密碼框組件:JPasswordField;標簽組件:JLabel;復選框組件:JCheckBox;單選框組件:JRadioButton;按鈕組件JButton。
1.用戶登陸界面:
具體代碼如下:
import javax.swing.*;
import java.awt.*; //導入必要的包
public class denglu extends JFrame{
JTextField jTextField ; //定義文本框組件
JPasswordField jPasswordField; //定義密碼框組件
JLabel jLabel1,jLabel2;
JPanel jp1,jp2,jp3;
JButton jb1,jb2; //創建按鈕
public denglu(){
jTextField = new JTextField(12);
jPasswordField = new JPasswordField(13);
jLabel1 = new JLabel("用戶名");
jLabel2 = new JLabel("密碼");
jb1 = new JButton("確認");
jb2 = new JButton("取消");
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel();
//設置布局
this.setLayout(new GridLayout(3,1));
jp1.add(jLabel1);
jp1.add(jTextField);//第一塊面板添加用戶名和文本框
jp2.add(jLabel2);
jp2.add(jPasswordField);//第二塊面板添加密碼和密碼輸入框
jp3.add(jb1);
jp3.add(jb2); //第三塊面板添加確認和取消
// jp3.setLayout(new FlowLayout()); //因為JPanel默認布局方式為FlowLayout,所以可以注銷這段代碼.
this.add(jp1);
this.add(jp2);
this.add(jp3); //將三塊面板添加到登陸框上面
//設置顯示
this.setSize(300, 200);
//this.pack();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setTitle("登陸");
}
public static void main(String[] args){
new denglu();
}
}
2.根據復選框組件等其他組件,又寫了用戶調查界面:
具體代碼:
import javax.swing.ButtonGroup;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import java.awt.*;
public class diaocha extends JFrame{
JCheckBox jcb1,jcb2,jcb3;
JRadioButton jrb1,jrb2;
JLabel jLabel1,jLabel2;
JPanel jp1,jp2;
public diaocha(){
jcb1 = new JCheckBox("華商報");
jcb2 = new JCheckBox("三秦都市報");
jcb3 = new JCheckBox("西安晚報");
jrb1 = new JRadioButton("男");
jrb2 = new JRadioButton("女");
jLabel1 = new JLabel("您最常讀的報紙");
jLabel2 = new JLabel("您的性別");
jp1 = new JPanel();
jp2 = new JPanel();
//設置布局
this.setLayout(new GridLayout(2, 1));
//添加組件
jp1.add(jLabel1);
jp1.add(jcb1);
jp1.add(jcb2);
jp1.add(jcb3);
jp2.add(jLabel2);
//現在這樣的話,最后還是會對性別進行全部選擇的。所以添加按鈕對象,對同一組單選按鈕驚醒分組
ButtonGroup bGroup = new ButtonGroup();
bGroup.add(jrb1);
bGroup.add(jrb2);
jp2.add(jrb1);
jp2.add(jrb2);
this.add(jp1);
this.add(jp2);
//設置展示面板
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(200, 200);
}
public static void main(String[] args){
new diaocha();
}
}
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習