Bentuk yang disertai ayun tidak dapat memenuhi kebutuhan aplikasi kami, jadi Anda perlu membuat bingkai jframe dari gambar dan bentuk apa pun, seperti gambar berikut:
Dan Anda dapat mengatur transparansi gambar latar belakang bentuk
Berikut ini menjelaskan cara mencapai efek dari gambar di atas:
(1) Pertama -tama, Anda membutuhkan gambar yang bagus, seperti perkamen. Namun, gambar yang diunduh adalah persegi persegi, dan bentuk perkamen ada di dalam gambar, jadi kami menggunakan fungsi guntingan di Meitu Xiuxiu atau PS untuk memilih kertas perkamen, sebagai berikut:
(2) Simpan gambar sebagai latar belakang transparan.
(3) Kemudian tulis myjframe mewarisi jframe, kodenya adalah sebagai berikut:
impor com.sun.awt.awtutilities; impor javax.swing.*; impor java.awt.*; kelas publik myjframe memperluas jframe {private float alpha; public myjframe (String bgpath, float alpha) {super (); mycontentpane rp = mycontentpane baru (bgpath); rp.setOpaque (false); // Atur panel konten ke transparan this.setContentPane (RP); this.setundorated (true); this.setsize (rp.img.geticonWidth (), rp.img.geticonHeight ()); Awtutilities.setWindowOpaque (ini, false); // diatur ke jframe sebagai transparan this.alpha = alpha; } kelas pribadi MyContentPane memperluas jpanel {public Imageicon IMG; public mycontentpane (string bgpath) {super (); img = gambar baru (test.class.getResource (bgpath)); } @Override Protected Void PaintComponent (Graphics G) {Alphacomposite AC = AlphAcomposite.GetInstance (AlphAcomposite.src_over, Alpha); Composite old = ((graphics2d) g) .getComposite (); ((Grafik2d) g) .setComposite (AC); if (img! = null) {g.drawimage (img.getImage (), 0, 0, getWidth (), getHeight (), this); } ((Grafik2d) g) .setComposite (lama); super.paintcomponent (g); }}} Kode utama dari program di atas adalah: atur jframe ke transparan, lepaskan perbatasan jframe, atur panel konten ke transparan, dan kemudian gambar gambar pada panel konten.
(4) Tulis tes kelas tes:
impor javax.swing.*; impor java.awt.*; Tes kelas publik {public static void main (string [] args) { /*** Atur transparansi gambar latar belakang dan gambar latar belakang, 0 sepenuhnya transparan, dan 1.0F buram. */ myjframe f = myjframe baru ("ab.png", 0.7f); f.setlayout (null); Font font = font baru ("宋体", font.plain, 30); Jlabel User = JLabel baru ("nama pengguna"); user.setfont (font); user.setbounds (100.150.100,30); JTextField userInput = new jTextField (); userInput.setFont (font); userinput.setbounds (200.145.250.40); Jlabel PS = JLabel baru ("Kata Sandi"); ps.setfont (font); ps.setbounds (110.200,90,30); JTextField psInput = new jTextField (); psInput.setFont (font); psinput.setbounds (200.195.250.40); f.add (pengguna); f.add (userInput); f.add (ps); f.add (psinput); f.setlocation (300.100); f.setDefaultCloseOperation (jframe.exit_on_close); f.setVisible (true); }}(5) Karena perbatasan dilepas, bentuk tidak dapat diseret dan diregangkan. Lihat artikel ini untuk ayunan untuk menyadari menyeret dan peregangan formulir.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.