http://vietjack.com/java_swing/index.jsp Copyright © vietjack.com Lớp JPanel Java Swing Container thành phần chủ chốt thành phần SWING GUI Một Container cung cấp không gian, nơi đặt thành phần Một Container AWT Component có thêm khả để thêm thành phần khác vào Khi xem xét Container, bạn cần ý điểm sau: Các lớp Container gọi Container Một số ví dụ lớp Container JPanel, JFrame JWindow Container thêm Component vào Một layout mặc định có mặt container Layout bị ghi đè sử dụng phương thức setLayout() Chương tìm hiểu JPanel Lớp JPanel container chung gọn nhẹ Cú pháp khai báo cho lớp javax.swing.JPanel là: public class JPanel extends JComponent implements Accessible Lớp kế thừa phương thức từ lớp sau javax.swing.JComponent java.awt.Container java.awt.Component java.lang.Object Lớp bao gồm constructor sau: JPanel(): Tạo JPanel với double buffer Flow Layout JPanel(boolean isDoubleBuffered): Tạo JPanel với Flow Layout trình đệm xác định http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java_swing/index.jsp Copyright © vietjack.com JPanel(LayoutManager layout): Tạo JPanel với Layout Manager cho JPanel(LayoutManager layout, boolean isDoubleBuffered): Tạo JPanel với Layout Manager cho trình đệm xác định Các phương thức lớp JPanel AccessibleContext getAccessibleContext(): Lấy AccessibleContext liên kết với JPanel PanelUI getUI(): Trả đối tượng L&F mà truyền thành phần String getUIClassID(): Trả chuỗi xác định tên lớp L&F mà truyền thành phần protected String paramString(): Trả biểu diễn chuỗi JPanel void setUI(PanelUI ui): Thiết lập đối tượng L&F mà truyền thành phần void updateUI():Phục hồi thuộc tính UI giá trị Look Feel Chương trình ví dụ lớp JPanel Java Swing SwingContainerDemo.java package com.vietjack.gui; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SwingContainerDemo { private JFrame mainFrame; private JLabel headerLabel; private JLabel statusLabel; private JPanel controlPanel; private JLabel msglabel; public SwingContainerDemo(){ http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java_swing/index.jsp Copyright © vietjack.com prepareGUI(); } public static void main(String[] args){ SwingContainerDemo swingContainerDemo = new SwingContainerDemo(); swingContainerDemo.showJPanelDemo(); } private void prepareGUI(){ mainFrame = new JFrame("Vi du Java Swing"); mainFrame.setSize(400,400); mainFrame.setLayout(new GridLayout(3, 1)); mainFrame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent windowEvent){ System.exit(0); } }); headerLabel = new JLabel("", JLabel.CENTER); statusLabel = new JLabel("",JLabel.CENTER); statusLabel.setSize(350,100); msglabel = new JLabel("Chao mung ban den voi bai huong dan Java Swing.", JLabel.CENTER); controlPanel = new JPanel(); controlPanel.setLayout(new FlowLayout()); mainFrame.add(headerLabel); mainFrame.add(controlPanel); mainFrame.add(statusLabel); mainFrame.setVisible(true); } http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java_swing/index.jsp Copyright © vietjack.com private void showJPanelDemo(){ headerLabel.setText("Container in action: JPanel"); JPanel panel = new JPanel(); panel.setBackground(Color.magenta); panel.setLayout(new FlowLayout()); panel.add(msglabel); controlPanel.add(panel); mainFrame.setVisible(true); } } http://vietjack.com/ Trang chia sẻ học online miễn phí Page ... main(String[] args){ SwingContainerDemo swingContainerDemo = new SwingContainerDemo(); swingContainerDemo.showJPanelDemo(); } private void prepareGUI(){ mainFrame = new JFrame("Vi du Java Swing" ); mainFrame.setSize(400,400);... lớp JPanel Java Swing SwingContainerDemo .java package com.vietjack.gui; import java. awt.*; import java. awt.event.*; import javax .swing. *; public class SwingContainerDemo { private JFrame mainFrame;...http://vietjack.com /java_ swing/ index.jsp Copyright © vietjack.com JPanel( LayoutManager layout): Tạo JPanel với Layout Manager cho JPanel( LayoutManager layout, boolean isDoubleBuffered): Tạo JPanel với