พื้นหลังแผง JPanel ที่กำหนดเอง
1. คำนำ
1. ชื่อเต็มของ GUI คือส่วนต่อประสานผู้ใช้กราฟิกซึ่งเป็นส่วนต่อประสานผู้ใช้กราฟิก GUI ของ Java ใช้กันอย่างแพร่หลายในชีวิตของเราและเป็นเรื่องธรรมดามาก แอปพลิเคชันจำนวนมากใช้ GUI นี้ในการโปรแกรมและการออกแบบเช่นคลิกที่ไอคอน QQ เพื่อปรากฏขึ้นในแบบฟอร์มการเข้าสู่ระบบที่สอดคล้องกัน
โดยทั่วไปการโต้ตอบระหว่างโปรแกรมและผู้ใช้จะขึ้นอยู่กับส่วนต่อประสานที่ทำงานของโปรแกรมที่เกี่ยวข้อง
2. แผง JPanel เป็นคลาสคอนเทนเนอร์แผงภายใต้การแกว่ง แผงนี้รองรับการทำรังสามารถตั้งค่าวิธีการเลย์เอาต์และตั้งค่าผู้จัดการเค้าโครงที่แตกต่างกันเพื่อเพิ่มการควบคุมอื่น ๆ เช่นปุ่ม JButton, กล่องข้อความ Jtextfield ฯลฯ เพื่อออกแบบและปรับปรุงรูปแบบอินเทอร์เฟซโปรแกรม
มันยังห่างไกลพอที่จะรองรับ Setbackground () เป็นแผงวาดภาพ ที่นี่เราใช้การปรับแต่งเพื่อตั้งค่าพื้นหลังภาพสำหรับ JPanel
2. เครื่องมือแพลตฟอร์ม
1. Myeclipse
สาธิตการใช้ myeclipse2014 ที่นี่
นอกจากนี้ยังมีแพลตฟอร์มอื่น ๆ ที่รองรับ Java Awt+Swing
3. การแสดงรูปภาพ
1. ผลการประมวลผลที่แตกต่างกันของ JPanel ภายใต้รูปแบบเดียวกัน
(1) แรกสร้างแบบฟอร์มที่ไม่ได้แก้ไข เอฟเฟกต์อินเตอร์เฟส JPanel เริ่มต้นทั่วไปมีดังนี้:
(2) การตั้งค่าเอฟเฟกต์สีพื้นหลังอย่างง่าย:
(3) ปรับแต่งเอฟเฟกต์แบบฟอร์มภายใต้ JPanel หลังจากการประมวลผล:
2. การใช้งานรหัส
ปรับแต่งการประมวลผลพื้นหลังของ JPanel ภาพคือ bg.png และอยู่ในเส้นทางเดียวกับคลาสทดสอบ โปรดใช้เส้นทางสัมพัทธ์เมื่อใช้ภาพ
นำเข้า java.awt.graphics; นำเข้า Javax.swing.imageicon; นำเข้า Javax.swing.jframe; นำเข้า Javax.swing.jpanel; Guitest ระดับสาธารณะ {ส่วนตัวคงที่ JFrame JFrame; // ประกาศแบบฟอร์ม jpanel jpanel ส่วนตัว; // ประกาศ guitest สาธารณะ artboard () {// วิธีการก่อสร้าง jframe = new JFrame (); init (); } โมฆะส่วนตัว init () {jframe.settitle ("ทดสอบ"); jPanel = new JPanel () {// รหัสคีย์คือการเขียนวิธีการทาสี @Override Void PaintComponent (กราฟิก G) {super.paintComponent (G); Imageicon img = ใหม่ imageicon (guitest.class.getResource ("bg.png")); / *** bg.png ถูกแทนที่ด้วยภาพของตัวเอง* เส้นทางสัมพัทธ์ที่ใช้ที่นี่ bg.png อยู่ในเส้นทางเดียวกับคลาสทดสอบ* อย่างไรก็ตามขอแนะนำให้ใช้เส้นทางสัมพัทธ์เพื่อหลีกเลี่ยงการใช้เส้นทางสัมบูรณ์*/ img.painticon (นี่, G, 0, 0); - jpanel.setOpaque (จริง); JFrame.SetBounds (200, 200, 500, 400); // ตั้งค่าตำแหน่งการแสดงผล 200 พิกเซลไปทางซ้ายและ 200 พิกเซลบนและขนาดหน้าจอคือ 500*400 JFrame.add (JPanel); // เพิ่ม artboard ลงในแบบฟอร์ม jframe.setVisible (จริง); // ตั้งค่าอินเตอร์เฟสการแสดงผล} โมฆะคงที่สาธารณะหลัก (String [] args) {new guitest (); // อินสแตนซ์วัตถุ}} 4. ขยายผู้จัดการเค้าโครง
นี่คือแบบฟอร์มการเข้าสู่ระบบอย่างง่าย:
แบบฟอร์มการเข้าสู่ระบบอย่างง่ายที่ใช้งานตามพื้นหลัง JPanel ที่กำหนดเองการตั้งค่าเค้าโครง gridbaglayout การเพิ่มกล่องข้อความปุ่มและการควบคุมพื้นฐานอื่น ๆ
(1) รหัสมีดังนี้:
นำเข้า java.awt.graphics; นำเข้า Java.awt.GridBagConstraints; นำเข้า Java.awt.GridBaglayout; นำเข้า java.awt.insets; นำเข้า Javax.swing.imageicon; นำเข้า Javax.swing.jbutton; นำเข้า Javax.swing.jframe; นำเข้า Javax.swing.jlabel; นำเข้า Javax.swing.jpanel; นำเข้า javax.swing.jpasswordfield; นำเข้า Javax.swing.jtextfield; Guit ชั้นเรียนสาธารณะ {// ประกาศแบบฟอร์ม, แผงและควบคุมส่วนตัว JFrame JFrame; Jlabel Jlabel ส่วนตัว, Jlabel1; Gridbaglayout ส่วนตัว Gridbag; ข้อ จำกัด GridbagConstraints ส่วนตัว; ส่วนตัว JTextfield JTFIELD1; ส่วนตัว JPasswordfield JPFIELD1; ส่วนตัว JButton JButton1, JButton2, JButton3; JPANEL JPANEL ส่วนตัว; Guit สาธารณะ () {jFrame = new JFrame (); jlabel = new jlabel (); jlabel1 = new jlabel (); jtfield1 = new jtextfield (); jpfield1 = ใหม่ jpasswordfield (); gridbag = new gridbaglayout (); JButton1 = new JButton (); JButton2 = new JButton (); JButton3 = new JButton (); init (); } / ** * init () เริ่มต้นและแสดงอินเตอร์เฟส * / โมฆะส่วนตัว init () {jframe.settitle ("เข้าสู่ระบบ"); / *** ตั้งค่าพื้นหลัง jPanel*/ jPanel = new JPanel () {@Override Void PaintComponent (กราฟิก G) {super.paintComponent (G); Imageicon img = ใหม่ imageicon (guitest.class.getResource ("ddmbg.jpg")); img.painticon (this, g, 0, 0); - // เริ่มต้นข้อความสำหรับ Jlabel, Jbutton Jlabel.settext ("ชื่อผู้ใช้:"); jlabel1.settext ("รหัสผ่าน:"); jbutton1.settext ("เข้าสู่ระบบ"); jbutton2.settext ("ออก"); jbutton3.settext ("ลงทะเบียน"); // ตั้งค่าตำแหน่งการแสดงผลและขนาดหน้าจอ 500*400 JFrame.SetBounds (450, 240, 400, 240); // JPanel ใช้ GridBaglayout Layout Manager JPanel.SetOpaque (เท็จ); jpanel.setLayout (gridbag); // เริ่มต้นฉลากชื่อผู้ใช้และเพิ่มการควบคุมไปยังข้อ จำกัด ของ artboard = getGridBagConstraints (0,0,1,1,0,0, gridbagconstraints.center, gridbagconstraints.none, สิ่งที่ใส่เข้าไปใหม่ (10,0,0,10,0), 0,0); gridbag.setConstraints (Jlabel, ข้อ จำกัด ); jpanel.add (Jlabel); // เริ่มต้นกล่องข้อความชื่อผู้ใช้และเพิ่มส่วนประกอบลงในข้อ จำกัด artboard = getGridBagConstraints (1,0,1,1,0,0, gridbagconstraints.center, gridbagconstraints.none, สิ่งที่น่าประทับใจใหม่ (10,0,0,0,0), 100,0); gridbag.setConstraints (JTFIELD1, ข้อ จำกัด ); jpanel.add (jtfield1); // เริ่มต้นข้อ จำกัด ฉลากรหัสผ่าน = getGridBagConstraints (0,1,1,1,0,0, gridbagconstraints.center, gridbagconstraints.none, สิ่งที่ใส่เข้าไปใหม่ (10,0,0,0), 0,0); gridbag.setConstraints (JLabel1, ข้อ จำกัด ); jpanel.add (jlabel1); // เริ่มต้นข้อ จำกัด กล่องข้อความรหัสผ่าน = getGridBagConstraints (1,1,1,1,0,0, gridbagconstraints.center, gridbagconstraints.none, สิ่งที่ใส่เข้าไปใหม่ (10,0,10,0), 100,0); gridbag.setConstraints (JPFIELD1, ข้อ จำกัด ); jpanel.add (jpfield1); // เริ่มต้นปุ่มลงทะเบียนและเพิ่มการควบคุมลงในข้อ จำกัด artboard = getGridBagConstraints (0,2,1,1,0,0, gridbagconstraints.center, gridbagconstraints.none, สิ่งที่ใส่เข้าไปใหม่ (10,0,10,0), 0,0); gridbag.setConstraints (JButton3, ข้อ จำกัด ); jpanel.add (jbutton3); // เริ่มต้นข้อ จำกัด ของปุ่มเข้าสู่ระบบ = getGridBagConstraints (1,2,1,1,0,0, gridbagconstraints.center, gridbagconstraints.none, สิ่งที่ใส่เข้าไปใหม่ (10,0,10,0), 0,0); gridbag.setConstraints (JButton1, ข้อ จำกัด ); jpanel.add (jbutton1); // เริ่มต้นข้อ จำกัด ปุ่มออก = getGridBagConstraints (2,2,1,1,0,0, gridbagconstraints.center, gridbagconstraints.none, สิ่งที่ใส่เข้าไปใหม่ (10,0,0,0), 0,0); gridbag.setConstraints (JButton2, ข้อ จำกัด ); jpanel.add (jbutton2); // เพิ่ม artboard เพื่อสร้าง jframe.add (jpanel); // การเริ่มต้นแบบฟอร์มเสร็จสิ้น} private gridbagconstraints getGridBagConstraints (int gridx, int gridy, int gridwidth, int gridheight, weightx คู่, น้ำหนักสอง, int, int, intint, gridy, gridy, gridy น้ำหนัก, สมอ, เติม, สิ่งที่ใส่เข้าไป, ipadx, iPady); } โมฆะคงที่สาธารณะหลัก (สตริง [] args) {guit ใหม่ (); jframe.setVisible (จริง); -โดยที่ ddmbg คือชื่อภาพ
(2) เอฟเฟกต์แสดงในรูป:
เลย์เอาต์เป็นรากฐานและมีความสำคัญมากในการออกแบบ GUI
เพื่อให้มีความเชี่ยวชาญในการใช้และเรียนรู้เลย์เอาต์หลักสามแบบและผู้จัดการเค้าโครงอื่น ๆ คุณต้องฝึกฝนด้วยตัวเอง
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น