แบบฟอร์มที่การแกว่งมาพร้อมกับความต้องการแอปพลิเคชันของเราดังนั้นคุณต้องสร้างเฟรม JFrame ของภาพและรูปร่างใด ๆ เช่นภาพต่อไปนี้:
และคุณสามารถตั้งค่าความโปร่งใสของภาพพื้นหลังของฟอร์ม
ต่อไปนี้อธิบายวิธีการบรรลุผลของภาพด้านบน:
(1) ก่อนอื่นคุณต้องมีภาพที่ดีเช่น parchment อย่างไรก็ตามภาพที่ดาวน์โหลดเป็นสี่เหลี่ยมสี่เหลี่ยมและรูปร่างของแผ่นหนังอยู่ภายในภาพดังนั้นเราจึงใช้ฟังก์ชั่นการตัดใน meitu xiuxiu หรือ ps เพื่อเลือกกระดาษ parchment ดังต่อไปนี้:
(2) บันทึกรูปภาพเป็นพื้นหลังโปร่งใส
(3) จากนั้นเขียน myjframe สืบทอด jframe, รหัสมีดังนี้:
นำเข้า com.sun.awt.awtutilities; นำเข้า Javax.swing.*; นำเข้า Java.awt.*; คลาสสาธารณะ MyJFrame ขยาย JFrame {Private Float Alpha; สาธารณะ myjframe (สตริง bgpath, ลอยอัลฟ่า) {super (); MyContentPane RP = ใหม่ MyContentPane (BGPATH); rp.setOpaque (false); // ตั้งค่าแผงเนื้อหาให้โปร่งใส this.setContentPane (RP); this.setundecorated (จริง); this.setsize (rp.img.geticonwidth (), rp.img.geticonheight ()); awtutilities.setWindowOpaque (นี่, false); // ตั้งค่าเป็น jFrame เป็นโปร่งใส this.alpha = alpha; } คลาสส่วนตัว MyContentPane ขยาย JPanel {Public Imageicon IMG; สาธารณะ myContentPane (String bgPath) {super (); img = imageicon ใหม่ (test.class.getResource (BGPath)); } @Override Void PaintComponent (กราฟิก g) {alphacomposite ac = alphacomposite.getInstance (alphacomposite.src_over, alpha); คอมโพสิตเก่า = ((กราฟิก 2d) g) .getComposite (); ((graphics2d) g) .setComposite (AC); if (img! = null) {g.drawimage (img.getimage (), 0, 0, getWidth (), getheight (), นี่); } ((graphics2d) g) .setComposite (เก่า); super.paintcomponent (G); - รหัสหลักของโปรแกรมข้างต้นคือ: ตั้ง JFrame เป็นโปร่งใสลบขอบของ JFrame ตั้งค่าแผงเนื้อหาให้โปร่งใสจากนั้นวาดรูปภาพบนแผงเนื้อหา
(4) เขียนการทดสอบคลาสทดสอบ:
นำเข้า Javax.swing.*; นำเข้า Java.awt.*; การทดสอบคลาสสาธารณะ {โมฆะคงที่สาธารณะหลัก (สตริง [] args) { /*** ตั้งค่าความโปร่งใสของภาพพื้นหลังและภาพพื้นหลัง 0 มีความโปร่งใสอย่างเต็มที่และ 1.0f เป็นทึบแสง */ myjframe f = myjframe ใหม่ ("ab.png", 0.7f); F.SetLayout (NULL); FONT FONT = FONT ใหม่ ("宋体", FONT.PLAIN, 30); jlabel user = new JLabel ("ชื่อผู้ใช้"); user.setFont (แบบอักษร); user.setBounds (100,150,100,30); jtextfield userInput = new jtextfield (); userInput.setFont (แบบอักษร); userInput.SetBounds (200,145,250,40); JLabel PS = new JLabel ("รหัสผ่าน"); ps.setfont (แบบอักษร); Ps.setbounds (110,200,90,30); jtextfield psinput = new jtextfield (); psinput.setFont (แบบอักษร); psinput.setbounds (200,195,250,40); F.Add (ผู้ใช้); F.ADD (UserInput); F.Add (PS); F.ADD (PSINPUT); F.SetLocation (300,100); f.setDefaultCloseoperation (jframe.exit_on_close); f.setVisible (จริง); -(5) เนื่องจากเส้นขอบถูกลบออกฟอร์มไม่สามารถลากและยืดได้ ดูบทความนี้สำหรับการแกว่งเพื่อตระหนักถึงการลากและยืดของแบบฟอร์ม
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น