Để tạo được giao diện trong Java, trước tiên các bạn phải biết được LayoutManager trong Java, nó giống như là bản vẽ kỹ thuật cho một ngôi nhà.
Có nhiều loại LayoutManager, chẳng hạn như:
- FlowLayout
- BoxLayout
- BorderLayout
- CardLayout
- GridBagLayout
- GridLayout
- GroupLayout
- SpringLayout
Trong phần 2 chúng ta sẽ học về BoxLayout
======================================================================
BoxLayout : X_AXIS & Y_AXIS
======================================================================
BoxLayout cho phép add các control trên mỗi dòng hoặc mỗi cột, tại mỗi vị trí add nó chỉ chấp nhận 1 control, do đó muốn xuất hiện nhiều control tại một vị trí thì bạn nên add vị trí đó là 1 JPanel rồi sau đó add các control khác vào JPanel này, BoxLayout có 2 hằng số để xác định hướng xuất hiện của control:
BoxLayout.X_AXIS
cho phép add các control theo hướng từ trái qua phải,BoxLayout.Y_AXIS
cho phép add các control theo hướng từ trên xuống dưới. BoxLayout khác biệt FlowLayout ở chỗ là nó sẽ không tự động xuống dòng khi hết chỗ chứa, tức là các control sẽ bị che khuất nếu như thiếu không gian chứa nó.importjava.awt.*;import javax.swing.*;
public class MyBoxLayout extends JFrame
{
private static final long serialVersionUID = 1L;
public MyBoxLayout(String title)
{
super(title);
}
public void doShow()
{
setSize(400,200);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
addControl(); //gọi hàm AddControl
setVisible(true);
}
public void addControl()
{
JPanel pnBox=new JPanel();
pnBox.setLayout(new BoxLayout(pnBox, BoxLayout.X_AXIS));
JButton btn1=new JButton(“BoxLayout”);
btn1.setForeground(Color.RED);
Font font=new Font(“Arial”,Font.BOLD | Font.ITALIC,25);
btn1.setFont(font);
pnBox.add(btn1);
JButton btn2=new JButton(“X_AXIS”);
btn2.setForeground(Color.BLUE);
btn2.setFont(font);
pnBox.add(btn2);
JButton btn3=new JButton(“Y_AXIS”);
btn3.setForeground(Color.ORANGE);
btn3.setFont(font);
pnBox.add(btn3);
Container con=getContentPane();
con.add(pnBox);
}
public static void main(String[] args) {
MyBoxLayout box=new MyBoxLayout(“Học BoxLayout”);
box.doShow();
}
}
pnBox.setLayout(new BoxLayout(pnBox, BoxLayout.X_AXIS));
dùng để thiết lập layout cho JPanel, ở đây ta thiết lập BoxLayout.X_AXIS
tức là các control xuất hiện theo chiều từ trái qua phải.Font font=new Font(“Arial”,Font.BOLD | Font.ITALIC,25);
tạo đối tượng font với Font chữ là Arial, vừa in đâm và in nghiêng và kích thước là 25pxbtn1.setFont(font);
thiết lập font chữ cho button btn1btn2.setForeground(Color.BLUE);
thiết lập màu chữ cho btn2Như đã nói BoxLayout sẽ không tự động xuống dòng khi hết khoảng không gian chứa control, nên các bạn có thể thấy trong hình dưới đây khi Tôi thu hẹp kích thước cửa sổ lại:
Trong đoạn lệnh
pnBox.setLayout(new BoxLayout(pnBox, BoxLayout.X_AXIS));
nếu như bạn đổi BoxLayout.X_AXIS
thành BoxLayout.Y_AXIS
thì các control sẽ được hiển thị như sau:
0 nhận xét:
Đăng nhận xét