JPanel
- JPanel là subclass của JComponent (subclass của Container), do đó JPanel cũng là Container.
- JPanel là khu vực trống dùng để layout các component khác包括其他 panels.
- Trong JPanel có thể thêm field, label, button, checkbox, hình ảnh.
- Layout Managers như FlowLayout, GridLayout, BorderLayout giúp kiểm soát kích thước, vị trí, căn chỉnh component dùng JPanel.
- Các phương thức quan trọng: getAccessibleContext(), getUI(), updateUI(), paramString().
- Có thể triển khai JPanel có cuộn dọc và ngang bằng cách add panel vào JScrollPane.
Ví dụ
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JScrollablePanelTest extends JFrame {
public JScrollablePanelTest() {
setTitle("JScrollablePanel Test");
setLayout(new BorderLayout());
JPanel panel = createPanel();
add(BorderLayout.CENTER, new JScrollPane(panel));
setSize(375, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}
public static JPanel createPanel() {
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(10, 4, 10, 10));
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 4; j++) {
JLabel label = new JLabel("label " + i + ", " + j);
label.setFont(new Font("Arial", Font.PLAIN, 20));
panel.add(label);
}
}
return panel;
}
public static void main(String[] args) {
new JScrollablePanelTest();
}
}
Kết quả
