標籤:標籤 this 分享 create body ima nbsp att min
面板組件(Jpanel)。一個介面只有一個JFrame,但可以有多個Jpanel 組件而Jpanel組件上可以放置FlowLayout, BorderLayout,GridLayout組件,這樣的組合使用達到比較複雜的布局效果 例如: package gui;import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.FlowLayout;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;/** 面板組件的介紹* Created by admin on 2017/7/2.*/public class MyJPanel extends JFrame{// 定義需要用到的組件private JButton jButton[] = new JButton[6];private JPanel jPanel1, jPanel2;public static void main(String[] args){MyJPanel myJPanel = new MyJPanel();}// 初始化建構函式public MyJPanel(){// 建立兩個JPanel 面板 JPanel 預設是流式布局jPanel1 = new JPanel();jPanel2 = new JPanel();// 建立按鈕組件for (int i=0; i<jButton.length; i++){jButton[i] = new JButton(String.valueOf(i));}// 添加組件到JPanel上// jPanel1.add(jButton[0]);jPanel1.add(jButton[1]);jPanel1.add(jButton[2]);jPanel2.add(jButton[3]);jPanel2.add(jButton[4]);jPanel2.add(jButton[5]);// 把JPanel添加到JFrame 並指定位置this.add(jPanel1, BorderLayout.NORTH);this.add(jButton[0], BorderLayout.CENTER);this.add(jPanel2, BorderLayout.SOUTH);// 設定JFrame屬性this.setTitle("面板JPanel的使用");this.setLocation(500, 250);this.setSize(350, 200);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}} JPanel注意事項:JPanel也是屬於容器類組件,上面可以放置其他組件JPanel上放置的組件預設的布局是流式布局FlowLayout 檔案框組件(JTextField) 在awt包中 密碼框JPasswordField 在swing包中 使用標籤 + 文字框 + 密碼框 + 面板 做的登陸頁面 package gui;import java.awt.GridLayout;import java.awt.TextField;import javax.swing.JPasswordField;import javax.swing.*; /** 檔案框, 密碼框, 標籤的介紹* 使用這幾個組件做一個登入框* Created by admin on 2017/7/2.*/public class MyTextField extends JFrame{// 定義需要使用的控制項, 按鈕2 個 面板3 個 標籤3private JButton jButton, jButton2;private JPanel jPanel, jPanel2, jPanel3;private TextField textField;private JLabel jLabel, jLabel2;private JPasswordField jPasswordField;public static void main(String[] args){MyTextField myTextField = new MyTextField();}// 類的初始化,在初始化時建立控制項public MyTextField(){// 建立面板組件jPanel = new JPanel();jPanel2 = new JPanel();jPanel3 = new JPanel();//建立標籤組件jLabel = new JLabel("使用者名稱:");jLabel2 = new JLabel("密 碼: ");// 建立文字框組件 10 為寬度textField = new TextField(10);// 建立密碼框組件 10 為寬度jPasswordField = new JPasswordField(10);// 建立按鈕組件jButton = new JButton("登陸");jButton2 = new JButton("註冊");// 設定JFrame的配置樣式為網格布局, 3行 1列this.setLayout(new GridLayout(3, 1));// 加入各個組件// 使用者名稱標籤 + 文字框jPanel.add(jLabel);jPanel.add(textField);// 密碼標籤 + 密碼框jPanel2.add(jLabel2);jPanel2.add(jPasswordField);// 登陸 + 註冊按鈕jPanel3.add(jButton);jPanel3.add(jButton2);// 將面板加入JFramethis.add(jPanel);this.add(jPanel2);this.add(jPanel3);// 設定JFrame屬性this.setTitle("登陸");this.setLocation(500, 250);this.setSize(350, 200);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}}
java GUI編程(swing)之五swing面板,文字框,密碼框,標籤