http://vietjack.com/java_swing/index.jsp Copyright © vietjack.com Lớp JWindow 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 JWindow Lớp JWindow container mà hiển thị khơng có tiêu đề nút quản lý cửa sổ Cú pháp khai báo cho lớp javax.swing.JWindow là: public class JWindow extends Window implements Accessible, RootPaneContainer Lớp kế thừa phương thức từ lớp sau: java.awt.Window java.awt.Container java.awt.Component java.lang.Object Lớp JWindow có constructor sau: JWindow(): Tạo window mà không xác định khung sở hữu (owner frame) JWindow(Frame owner): Tạo window với owner frame cho http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java_swing/index.jsp Copyright © vietjack.com JWindow(GraphicsConfiguration gc): Tạo window với GraphicsConfiguration cho thiết bị hình JWindow(Window owner): Tạo window với cửa sổ sở hữu cho (owner window) JWindow(Window owner, GraphicsConfiguration gc): Tạo window với cửa sổ sở hữu cho (owner window) GraphicsConfiguration cho thiết bị hình Chương trình ví dụ lớp JWindow 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(){ prepareGUI(); } public static void main(String[] args){ SwingContainerDemo swingContainerDemo = new SwingContainerDemo(); swingContainerDemo.showJWindowDemo(); } private void prepareGUI(){ http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java_swing/index.jsp Copyright © vietjack.com 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); } private void showJWindowDemo(){ headerLabel.setText("Container in action: JWindow"); final MessageWindow window = new MessageWindow(mainFrame, "Chao mung ban den voi bai huong dan Java Swing."); JButton okButton = new JButton("Open a Window"); okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/java_swing/index.jsp Copyright © vietjack.com window.setVisible(true); statusLabel.setText("Mot Window duoc hien thi toi nguoi dung."); } }); controlPanel.add(okButton); mainFrame.setVisible(true); } class MessageWindow extends JWindow{ private String message; public MessageWindow(JFrame parent, String message) { super(parent); this.message = message; setSize(300, 300); setLocationRelativeTo(parent); } public void paint(Graphics g) { super.paint(g); g.drawRect(0,0,getSize().width - 1,getSize().height - 1); g.drawString(message,50,150); } } } http://vietjack.com/ Trang chia sẻ học online miễn phí Page ... msglabel; public SwingContainerDemo(){ prepareGUI(); } public static void main(String[] args){ SwingContainerDemo swingContainerDemo = new SwingContainerDemo(); swingContainerDemo.showJWindowDemo();... JWindow SwingContainerDemo .java package com.vietjack.gui; import java. awt.*; import java. awt.event.*; import javax .swing. *; public class SwingContainerDemo { private JFrame mainFrame; private JLabel...http://vietjack.com /java_ swing/ index.jsp Copyright © vietjack.com JWindow( GraphicsConfiguration gc): Tạo window với GraphicsConfiguration cho thiết bị hình JWindow( Window owner): Tạo window