Swing ใน java เป็นส่วนหนึ่งของคลาส Java foundation ซึ่งมีน้ำหนักเบาและเป็นอิสระจากแพลตฟอร์ม ใช้สำหรับสร้างแอปพลิเคชันที่ใช้หน้าต่าง ประกอบด้วยส่วนประกอบต่างๆเช่นปุ่มแถบเลื่อนช่องข้อความเป็นต้นการรวมส่วนประกอบเหล่านี้ทั้งหมดเข้าด้วยกันทำให้ส่วนติดต่อผู้ใช้แบบกราฟิก ในบทความนี้เราจะพูดถึงแนวคิดที่เกี่ยวข้องกับกระบวนการสร้างแอปพลิเคชันโดยใช้การแกว่งเข้า . ต่อไปนี้เป็นแนวคิดที่กล่าวถึงในบทความนี้:
- Java Swing คืออะไร?
- คลาสคอนเทนเนอร์
- ความแตกต่างระหว่าง AWT และ Swing
- ลำดับชั้นคลาส Java Swing
- ตัวจัดการเค้าโครง
- ตัวอย่าง - แชทเฟรม
Swing In Java คืออะไร?
Swing ใน Java เป็นชุดเครื่องมือ GUI ที่มีน้ำหนักเบาซึ่งมีวิดเจ็ตที่หลากหลายสำหรับการสร้างแอปพลิเคชันที่ใช้หน้าต่างที่เหมาะสม เป็นส่วนหนึ่งของ JFC (Java Foundation Classes) สร้างขึ้นจาก AWT API และเขียนด้วยภาษา . เป็นแพลตฟอร์มที่เป็นอิสระไม่เหมือน AWT และมีส่วนประกอบที่มีน้ำหนักเบา
การสร้างแอปพลิเคชันจะง่ายขึ้นเนื่องจากเรามีส่วนประกอบ GUI อยู่แล้วเช่นปุ่มช่องทำเครื่องหมายเป็นต้นซึ่งมีประโยชน์เพราะเราไม่จำเป็นต้องเริ่มใหม่ตั้งแต่ต้น
คลาสคอนเทนเนอร์
ๆ ซึ่งมีส่วนประกอบอื่น ๆ อยู่ในนั้นเรียกว่าเป็นคลาสคอนเทนเนอร์ สำหรับการสร้างแอปพลิเคชัน GUI จำเป็นต้องมีคลาสคอนเทนเนอร์อย่างน้อยหนึ่งคลาส
ต่อไปนี้เป็นคลาสคอนเทนเนอร์สามประเภท:
แผง - ใช้เพื่อจัดระเบียบส่วนประกอบบนหน้าต่าง
กรอบ - หน้าต่างที่ทำงานได้อย่างสมบูรณ์พร้อมไอคอนและชื่อเรื่อง
Dialog - เป็นเหมือนหน้าต่างป๊อปอัป แต่ใช้งานได้ไม่เต็มที่เหมือนกรอบ
ความแตกต่างระหว่าง AWT และ Swing
AWT | แกว่ง |
|
|
|
|
|
|
|
|
|
|
ลำดับชั้นคลาส Java Swing
คำอธิบาย : ส่วนประกอบทั้งหมดในวงสวิงเช่น JButton, JComboBox, JList, JLabel สืบทอดมาจากคลาส JComponent ซึ่งสามารถเพิ่มลงในคลาสคอนเทนเนอร์ได้ คอนเทนเนอร์คือหน้าต่างเช่นกรอบและกล่องโต้ตอบ ส่วนประกอบพื้นฐานของวงสวิงเป็นส่วนประกอบสำคัญของแอปพลิเคชัน gui ใด ๆ วิธีการเช่น setLayout จะแทนที่เค้าโครงเริ่มต้นในแต่ละคอนเทนเนอร์ คอนเทนเนอร์เช่น JFrame และ JDialog สามารถเพิ่มส่วนประกอบให้กับตัวมันเองได้เท่านั้น ต่อไปนี้เป็นส่วนประกอบบางส่วนพร้อมตัวอย่างเพื่อให้เข้าใจว่าเราสามารถใช้งานได้อย่างไร
คลาส JButton
ใช้เพื่อสร้างปุ่มที่มีป้ายกำกับ การใช้ ActionListener จะส่งผลให้เกิดการกระทำบางอย่างเมื่อกดปุ่ม มันสืบทอดคลาส AbstractButton และเป็นแพลตฟอร์มที่เป็นอิสระ
ตัวอย่าง:
นำเข้า javax.swing. * ตัวอย่างคลาสสาธารณะ {public static void main (String args []) {JFrame a = new JFrame ('example') JButton b = new JButton ('click me') b.setBounds (40,90, 85,20) a.add (b) a.setSize (300,300) a.setLayout (null) a.setVisible (true)}}
เอาท์พุต:
c ++ เรียงลำดับอาร์เรย์จากน้อยไปมาก
คลาส JTextField
สืบทอดคลาส JTextComponent และใช้เพื่ออนุญาตให้แก้ไขข้อความบรรทัดเดียว
ตัวอย่าง:
นำเข้า javax.swing. * public class ตัวอย่าง {public static void main (String args []) {JFrame a = new JFrame ('example') JTextField b = new JTextField ('edureka') b.setBounds (50,100,200,30) a .add (b) a.setSize (300,300) a.setLayout (null) a.setVisible (จริง)}}
เอาท์พุต:
คลาส JScrollBar
ใช้เพื่อเพิ่มแถบเลื่อนทั้งแนวนอนและแนวตั้ง
ตัวอย่าง:
นำเข้า javax.swing. * class ตัวอย่าง {example () {JFrame a = new JFrame ('example') JScrollBar b = new JScrollBar () b.setBounds (90,90,40,90) a.add (b) a. setSize (300,300) a.setLayout (null) a.setVisible (true)} public static void main (String args []) {new example ()}}
เอาท์พุต:
ชั้น JPanel
สืบทอดคลาส JComponent และมีพื้นที่สำหรับแอปพลิเคชันที่สามารถแนบส่วนประกอบอื่น ๆ ได้
import java.awt. * import javax.swing. * public class ตัวอย่าง {Example () {JFrame a = new JFrame ('example') JPanel p = new JPanel () p.setBounds (40,70,200,200) JButton b = new JButton ('คลิกฉัน') b.setBounds (60,50,80,40) p.add (b) a.add (p) a.setSize (400,400) a.setLayout (null) a.setVisible (true)} สาธารณะ หลักโมฆะคง (String args []) {new Example ()}}
เอาท์พุต:
JMenu Clas s
สืบทอดคลาส JMenuItem และเป็นส่วนประกอบเมนูแบบดึงลงซึ่งแสดงจากแถบเมนู
import javax.swing. * class ตัวอย่าง {JMenu menu JMenuItem a1, a2 Example () {JFrame a = new JFrame ('Example') menu = new JMenu ('options') JMenuBar m1 = new JMenuBar () a1 = new JMenuItem ( 'example') a2 = new JMenuItem ('example1') menu.add (a1) menu.add (a2) m1.add (เมนู) a.setJMenuBar (m1) a.setSize (400,400) a.setLayout (null) a .setVisible (true)} public static void main (String args []) {new Example ()}}
เอาท์พุต:
คลาส JList
มันสืบทอดคลาส JComponent วัตถุของคลาส JList แสดงถึงรายการข้อความ
วิธีการโอเวอร์โหลดและการแทนที่ใน java
import javax.swing. * public class ตัวอย่าง {Example () {JFrame a = new JFrame ('example') DefaultListModel l = new DefaultListModel () l.addElement ('first item') l.addElement ('second item') JList b = new JList (l) b.setBounds (100,100,75,75) a.add (b) a.setSize (400,400) a.setVisible (true) a.setLayout (null)} public static void main (String args [ ]) {ตัวอย่างใหม่ ()}}
เอาท์พุต:
คลาส JLabel
ใช้สำหรับวางข้อความในคอนเทนเนอร์ นอกจากนี้ยังสืบทอดคลาส JComponent
import javax.swing. * public class ตัวอย่าง {public static void main (String args []) {JFrame a = new JFrame ('example') JLabel b1 b1 = new JLabel ('edureka') b1.setBounds (40,40, 90,20) a.add (b1) a.setSize (400,400) a.setLayout (null) a.setVisible (true)}}
เอาท์พุต:
คลาส JComboBox
สืบทอดคลาส JComponent และใช้เพื่อแสดงเมนูป๊อปอัปของตัวเลือก
import javax.swing. * public class ตัวอย่าง {JFrame a Example () {a = new JFrame ('example') string courses [] = {'core java', 'advance java', 'java servlet'} JComboBox c = new JComboBox (หลักสูตร) c.setBounds (40,40,90,20) a.add (c) a.setSize (400,400) a.setLayout (null) a.setVisible (true)} public static void main (String args [] ) {ตัวอย่างใหม่ ()}}
เอาท์พุต:
ตัวจัดการเค้าโครง
ในการจัดเรียงส่วนประกอบภายในคอนเทนเนอร์เราใช้ตัวจัดการโครงร่าง ต่อไปนี้เป็นตัวจัดการเลย์เอาต์ต่างๆ:
เค้าโครงเส้นขอบ
เค้าโครงโฟลว์
เค้าโครง GridBag
ถ้างบในแบบสอบถาม sql
เค้าโครงเส้นขอบ
ตัวจัดการโครงร่างเริ่มต้นสำหรับทุก JFrame คือ BorderLayout วางส่วนประกอบได้ไม่เกินห้าตำแหน่งซึ่ง ได้แก่ บนล่างซ้ายขวาและตรงกลาง
เค้าโครงโฟลว์
FlowLayout เพียงแค่วางส่วนประกอบในแถวทีละแถวโดยเป็นตัวจัดการโครงร่างเริ่มต้นสำหรับ JPanel ทุกตัว
เค้าโครง GridBag
GridBagLayout วางส่วนประกอบในตารางซึ่งช่วยให้ส่วนประกอบขยายมากกว่าหนึ่งเซลล์
ตัวอย่าง: Chat Frame
import javax.swing. * import java.awt. * class ตัวอย่าง {public static void main (String args []) {JFrame frame = new JFrame ('Chat Frame') frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setSize (400 , 400) JMenuBar ob = JMenuBar ใหม่ () JMenu ob1 = JMenu ใหม่ ('FILE') JMenu ob2 = JMenu ใหม่ ('Help') ob.add (ob1) ob.add (ob2) JMenuItem m11 = JMenuItem ใหม่ ('เปิด ') JMenuItem m22 = JMenuItem ใหม่ (' บันทึกเป็น ') ob1.add (m11) ob1.add (m22) แผง JPanel = JPanel ใหม่ () // มองไม่เห็นพาเนลในเอาต์พุต JLabel label = new JLabel (' Enter Text ') JTextField tf = new JTextField (10) // ยอมรับอักขระไม่เกิน 10 ตัว JButton send = new JButton (' Send ') การรีเซ็ต JButton = แผงใหม่ JButton (' รีเซ็ต ') เพิ่ม (ป้ายกำกับ) // ส่วนประกอบที่เพิ่มโดยใช้แผงเค้าโครงโฟลว์ .add (label) // ส่วนประกอบที่เพิ่มโดยใช้ Flow Layout panel.add (tf) panel.add (send) panel.add (reset) JTextArea ta = new JTextArea () frame.getContentPane (). add (BorderLayout.SOUTH, panel ) frame.getContentPane () เพิ่ม (BorderLayout.NORTH, tf) frame.getContentPane () เพิ่ม (Border Layout.CENTER, ta) frame.setVisible (จริง)}}
นี่เป็นตัวอย่างง่ายๆสำหรับการสร้าง GUI โดยใช้ Swing ใน Java
ในบทความนี้เราได้กล่าวถึงการสวิงใน Java และลำดับชั้นของคลาสสวิง Java ด้วยส่วนประกอบทั้งหมดที่มาพร้อมกับการแกว่งใน Java ทำให้ง่ายต่อการสร้างแอปพลิเคชัน GUI ที่เหมาะสมที่สุด ภาษาการเขียนโปรแกรม Java เป็นภาษาการเขียนโปรแกรมที่มีโครงสร้างและด้วยความต้องการที่เพิ่มขึ้นจึงมีความสำคัญอย่างยิ่งในการควบคุมแนวคิดทั้งหมดใน . หากต้องการเริ่มต้นการเรียนรู้และเป็นผู้เชี่ยวชาญในการเขียนโปรแกรม Java ให้ลงทะเบียนกับ Edureka’s .
มีคำถามสำหรับเรา? โปรดระบุสิ่งนี้ในส่วนความคิดเห็นของบทความ 'Swing In Java' และเราจะติดต่อกลับโดยเร็วที่สุด