คำนำ
Swing เป็นชุดเครื่องมือพัฒนาสำหรับการพัฒนาส่วนต่อประสานผู้ใช้ของแอปพลิเคชัน Java มันขึ้นอยู่กับชุดเครื่องมือหน้าต่างนามธรรม (AWT) เพื่อเปิดใช้งานแอปพลิเคชันข้ามแพลตฟอร์มเพื่อใช้รูปแบบรูปลักษณ์ที่สามารถทำได้ นักพัฒนา Swing สามารถใช้คุณสมบัติที่หลากหลายและยืดหยุ่นของ Swing และส่วนประกอบแบบแยกส่วนเพื่อสร้างอินเทอร์เฟซผู้ใช้ที่สง่างามด้วยรหัสน้อยมาก
Swing เป็นชุดเครื่องมือ GUI ที่ออกแบบมาสำหรับ Java
Swing เป็นส่วนหนึ่งของคลาส Java Basic
Swing รวมถึงอุปกรณ์อินเทอร์เฟซผู้ใช้กราฟิก (GUI) เช่นกล่องข้อความ, ปุ่ม, แยกบานพับและตาราง
Swing ให้องค์ประกอบการแสดงผลหน้าจอที่ดีกว่า AWT พวกเขาเขียนด้วยชวาบริสุทธิ์เพื่อให้พวกเขาสามารถวิ่งข้ามแพลตฟอร์มเช่นเดียวกับ Java เองซึ่งไม่เหมือน AWT พวกเขาเป็นส่วนหนึ่งของ JFC พวกเขาสนับสนุนแผงควบคุมและธีมที่เปลี่ยนได้ (ธีมเฉพาะสำหรับระบบปฏิบัติการที่หลากหลาย) แต่แทนที่จะใช้อุปกรณ์ที่จัดทำโดยแพลตฟอร์มพื้นเมืองพวกเขาเพียงแค่เลียนแบบพวกเขาบนพื้นผิว ซึ่งหมายความว่าคุณสามารถใช้พาเนลใด ๆ ที่รองรับโดย Java บนแพลตฟอร์มใด ๆ ข้อเสียของส่วนประกอบที่มีน้ำหนักเบาคือพวกเขาช้าในการดำเนินการและข้อได้เปรียบคือพวกเขาสามารถใช้พฤติกรรมที่เป็นเอกภาพในทุกแพลตฟอร์ม
สวัสดีโปรแกรมโลก
รหัสไฟล์ helloWorldswing.java มีดังนี้:
นำเข้า Javax.swing.*; ชั้นเรียนสาธารณะ HelloWorldswing { /** {*สร้างและแสดง GUI ด้วยเหตุผลด้านความปลอดภัยของเธรด * ถูกเรียกในเธรดการเรียกเหตุการณ์ */ โมฆะคงที่ส่วนตัว createandshowgui () {// ตรวจสอบให้แน่ใจว่ารูปลักษณ์ที่สวยงาม jframe.setdefaultlookandfeeldecorated (จริง); // สร้างและตั้งค่าหน้าต่าง jframe frame = new JFrame ("HelloWorldswing"); frame.setDefaultCloseoperation (jframe.exit_on_close); // เพิ่ม "Hello World" tag jlabel label = new Jlabel ("Hello World"); frame.getContentPane (). เพิ่ม (ฉลาก); // แสดง frame window.pack (); frame.setVisible (จริง); } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {// แสดงแอปพลิเคชัน gui javax.swing.swingutilities.invokelater (ใหม่ runnable () {public void run () {createandshowgui ();}}); - ดำเนินการคำสั่งต่อไปนี้เพื่อส่งออกผลลัพธ์:
$ javac helloWorldswing.java $ java helloWorldswing
อินสแตนซ์ของกล่องเข้าสู่ระบบผู้ใช้
รหัสไฟล์ swingloginexample.java มีดังนี้:
นำเข้า javax.swing.jbutton; นำเข้า Javax.swing.jframe; นำเข้า Javax.swing.jlabel; นำเข้า Javax.swing.jpanel; นำเข้า Javax.swing.jpasswordfield; นำเข้า Javax.swing.jtextfield; ระดับสาธารณะ swingloginexample {public static void main (string [] args) {// สร้างอินสแตนซ์ jframe jframe frame = new JFrame ("ตัวอย่างเข้าสู่ระบบ"); // การตั้งค่าความกว้างและความสูงของเฟรมเฟรม setsize (350, 200); frame.setDefaultCloseoperation (jframe.exit_on_close); /* สร้างพาเนลแท็ก Div HTML นี้* เราสามารถสร้างหลายแผงและระบุตำแหน่งใน JFrame* ในแผงเราสามารถเพิ่มฟิลด์ข้อความปุ่มและส่วนประกอบอื่น ๆ */ jPanel panel = new JPanel (); // เพิ่มแผงเฟรม ADD (แผง); / * * วิธีการโทรที่ผู้ใช้กำหนดและเพิ่มส่วนประกอบลงในแผง */ placeComponents (แผง); // ตั้งค่าอินเทอร์เฟซเป็น frame ที่มองเห็นได้ setVisible (จริง); } Private Static Void PlaceComponents (แผง JPanel) { /* เราจะไม่แนะนำส่วนเลย์เอาต์ที่นี่* ตั้งเค้าโครงเป็น null* / panel.setLayout (NULL); // สร้าง jlabel jlabel userlabel = new jlabel ("ผู้ใช้:"); /* วิธีนี้กำหนดตำแหน่งของส่วนประกอบ * setBounds (x, y, ความกว้าง, ความสูง) * x และ y ระบุตำแหน่งใหม่ในมุมซ้ายบนและความกว้างและความสูงระบุขนาดใหม่ */ userlabel.setBounds (10,20,80,25); panel.add (userlabel); /** สร้างฟิลด์ข้อความสำหรับอินพุตผู้ใช้*/ jtextfield usertext = new JTextField (20); usertext.setBounds (100,20,165,25); panel.add (usertext); // ป้อนฟิลด์ข้อความสำหรับรหัสผ่าน jlabel passwordlabel = new JLabel ("รหัสผ่าน:"); PasswordLabel.SetBounds (10,50,80,25); Panel.Add (PasswordLabel); /** ฟิลด์ข้อความนี้คล้ายกับอินพุต* อย่างไรก็ตามข้อมูลอินพุตจะถูกแทนที่ด้วยจุดซึ่งใช้เพื่อมีความปลอดภัยของรหัสผ่าน*/ jpasswordfield passwordText = new JPasswordField (20); PasswordText.setBounds (100,50,165,25); Panel.Add (PasswordText); // สร้างปุ่มเข้าสู่ระบบ JButton LoginButton = new JButton ("เข้าสู่ระบบ"); LoginButton.SetBounds (10, 80, 80, 25); Panel.Add (LoginButton); -ดำเนินการคำสั่งต่อไปนี้เพื่อส่งออกผลลัพธ์:
$ javac swingloginexample.java $ java swingloginexample
การวิเคราะห์แนวคิด:
แนวคิดพื้นฐานของโปรแกรม GUI ของ JFrame Java นั้นขึ้นอยู่กับ JFrame ซึ่งเป็นวัตถุของหน้าต่างบนหน้าจอซึ่งสามารถขยายได้สูงสุดย่อและปิด
คลาสคอนเทนเนอร์พาเนลใน JPANEL JAVA กราฟิกผู้ใช้อินเทอร์เฟซ (GUI) Toolkit Swing รวมอยู่ในแพ็คเกจ Javax.swing และสามารถซ้อนกันได้ ฟังก์ชั่นของมันคือการรวมส่วนประกอบกับฟังก์ชันตรรกะเดียวกันในรูปแบบ มันเป็นภาชนะที่มีน้ำหนักเบาที่สามารถเพิ่มลงในรูปแบบ JFrame -
Jlabel วัตถุ Jlabel สามารถแสดงข้อความรูปภาพหรือทั้งสองอย่าง คุณสามารถระบุตำแหน่งที่เนื้อหาแท็กจัดเรียงในพื้นที่แสดงแท็กโดยการตั้งค่าการจัดแนวแนวตั้งและแนวนอน โดยค่าเริ่มต้นฉลากจะอยู่กึ่งกลางในแนวตั้งภายในพื้นที่แสดงผล โดยค่าเริ่มต้นฉลากที่แสดงเฉพาะข้อความจะถูกจัดเรียงในขอบเริ่มต้น ฉลากที่แสดงภาพเท่านั้นจะอยู่ในแนวตรงกลางในแนวนอน
Jtextfield เป็นส่วนประกอบที่มีน้ำหนักเบาที่อนุญาตให้แก้ไขข้อความบรรทัดเดียว
JPasswordfield ช่วยให้เราสามารถป้อนบรรทัดของคำเช่นกล่องอินพุต แต่ซ่อน Asterisk (*) หรือ DOT สร้างรหัสผ่าน (รหัสผ่าน)
Jbutton ตัวอย่างของคลาส JButton ใช้เพื่อสร้างปุ่มคล้ายกับ "เข้าสู่ระบบ" ในกรณี
โอเคบทความนี้สิ้นสุดลงแล้ว ทั้งหมดที่เราพูดถึงที่นี่คือความรู้พื้นฐาน ด้วยรากฐานนี้มันไม่ยากที่จะออกแบบอินเทอร์เฟซผู้ใช้กราฟิกที่ซับซ้อนมากขึ้น!