Home / ພື້ນຖານ Desktop app / Containers
ສຳລັບ Class ໃນກຸ່ມຂອງ Containers ເທິງ Java GUI Swings ເປັນ Class ສຳລັບໃຊ້ການສ້າງຄວບຄຸມກຸ່ມຂອງ Component Controls ໃຫ້ຢູ່ໃນຂອບເຂດດຽວກັນ ແລະ ສະແດງຜົນຕາມວັດຖຸປະສົງທີ່ຕ້ອງການ ຊຶ່ງ Class ໃນກຸ່ມນີ້ຈະຕ່າງກັບ Controls ກົງທີ່ຈະບໍ່ໄດ້ເຮັດຫນ້າທີ່ຕິດຕໍ່ກັບ Interface ໂດຍກົງ ແຕ່ຈະເປັນພຽງຕົວປະທີ່ຄວບຄຸມການເຮັດວຽກງານຂອງ Controls ອີກຊັ້ນໜຶ່ງ ເຊັ່ນ JPanel (ໃຊ້ສ້າງພື້ນທີ່ສຳລັບຈັດເກັບ Control) , JTabbedPane (ໃຊ້ສ້າງແທັບ) , JSplitPane (ໃຊ້ສ້າງເສັ້ນກັ້ນ) , JScrollPane (ໃຊ້ສ້າງ Scroll ພາຍໃນ Control) , JToolBar (ໃຊ້ສ້າງເມນູເຄື່ອງມື) , JDesktopPane (ໃຊ້ສ້າງພື້ນທີ່ Desktop ສຳລັບ Frame) , JInternalFrame (ໃຊ້ສ້າງ Frame ທີ່ຢູ່ພາຍໃນ Desktop) , JLayeredPane (ໃຊ້ສ້າງ Layer ຊ້ອນຫຼາຍໆ Layer )
ສຳລັບການໃຊ້ງານ Containers ແມ່ນຈະມີຄວາມສຳຄັນ ແລະ ຈຳເປັນຫຼາຍ ໂດຍສະເພາະ JPanel ອັນນີ້ເຮົາໄດ້ໃຊ້ແນ່ນອນ ສ່ວນທີ່ສຳຄັນຕາມມາຄື JTabbedPane ແລະ JScrollPane ຊຶ່ງຈະຊ່ວຍໃຫ້ການຂຽນ Java GUI ນັ້ນມີຄວາມໜ້າສົນໃຈແລະໃຊ້ງານງ່າຍຫຼາຍຂຶ້ນ
ຈັດຢູ່ໃນກຸ່ມຂອງ Container ໄວ້ສຳລັບຈັດກຸ່ມຂອງ Component Controls ໃຫ້ຢູ່ໃນກຸ່ມດຽວກັນ ເພື່ອໃຊ້ງ່າຍຕໍ່ການສະແດງຜົນ ແລະການນຳໄປໃຊ້ງານ ໂດຍເຮົາສາມາດປະກາດ Panel ໄວ້ ແລະ ເຮັດການສ້າງ Controls ຫຼາຍໆ ອັນເຂົ້າມາພາຍໃນ Panel ນັ້ນໆ
public class MyForm extends JFrame {
public MyForm() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 458, 287);
setTitle("Kittisay Java");
getContentPane().setLayout(null);
// Panel 1
JPanel panel1 = new JPanel();
panel1.setBounds(38, 34, 133, 92);
panel1.add(new JButton("Button 1"));
panel1.add(new JButton("Button 2"));
panel1.add(new JButton("Button 3"));
add(panel1);
// Panel 2
JPanel panel2 = new JPanel();
panel2.setBounds(223, 67, 133, 92);
panel2.setBorder(BorderFactory.createTitledBorder("Panel 2"));
JLabel label1 = new JLabel("Label 1");
panel2.add(label1);
panel2.add(new JLabel("Label 2"));
add(panel2);
}
public static void main(String[] args) {
MyForm frm = new MyForm();
frm.setVisible(true);
}