Latar belakang panel jpanel khusus
1. Pendahuluan
1. Nama lengkap GUI adalah antarmuka pengguna grafis, yang merupakan antarmuka pengguna grafis. GUI Java banyak digunakan dalam kehidupan kita dan juga sangat umum. Banyak aplikasi menggunakan GUI ini untuk memprogram dan merancang, seperti mengklik ikon QQ untuk memunculkan formulir login yang sesuai.
Secara umum, interaksi antara program dan pengguna didasarkan pada antarmuka yang berjalan dari program yang sesuai.
2. JPanel Panel adalah kelas wadah panel di bawah ayunan. Panel ini mendukung bersarang, dapat mengatur metode tata letak, dan mengatur manajer tata letak yang berbeda untuk menambahkan kontrol lain seperti tombol JButton, kotak teks JTextfield, dll. Untuk merancang dan meningkatkan formulir antarmuka program.
Jauh dari cukup untuk mendukung Securbackground () sebagai panel gambar. Di sini kami menerapkan kustomisasi untuk mengatur latar belakang gambar untuk JPanel.
2. Alat platform
1.Cyeclipse
Demonstrasi menggunakan myeclipse2014 di sini
Platform lain yang mendukung Java Awt+Swing juga tersedia
3. Tampilan gambar
1. Efek pemrosesan yang berbeda dari JPanel di bawah bentuk yang sama
(1) Pertama -tama buat formulir yang tidak dimodifikasi. Efek antarmuka JPanel default umum adalah sebagai berikut:
(2) Pengaturan sederhana efek warna latar belakang:
(3) Menyesuaikan efek formulir di bawah jpanel setelah diproses:
2. Implementasi Kode
Kustomisasi pemrosesan latar belakang JPanel, gambarnya adalah BG.PNG, dan berada di jalur yang sama dengan kelas uji. Harap gunakan jalur relatif saat menggunakan gambar.
impor java.awt.graphics; impor javax.swing.imageicon; impor javax.swing.jframe; impor javax.swing.jpanel; kelas publik guitest {private static jframe jframe; // nyatakan bentuk pribadi jpanel jpanel; // mendeklarasikan Artboard Public Guitest () {// Metode Konstruksi JFrame = JFrame baru (); init (); } private void init () {jframe.settitle ("test"); jpanel = jpanel baru () {// Kode kunci adalah untuk menulis ulang metode cat @override void paintComponent (grafik g) {super.paintComponent (g); Imageicon img = ImageIcon baru (guitest.class.getResource ("bg.png")); / *** bg.png diganti dengan gambarnya sendiri* Jalur relatif yang digunakan di sini, bg.png berada di jalur yang sama dengan kelas uji* Namun, disarankan untuk menggunakan jalur relatif untuk menghindari penggunaan jalur absolut*/ img.painticon (ini, g, 0, 0); }}; jpanel.setopaque (true); jframe.setbounds (200, 200, 500, 400); // Atur posisi tampilan 200 piksel ke kiri dan 200 piksel dan ukuran layar adalah 500*400 jframe.add (jpanel); // tambahkan artboard ke bentuk jframe.setVisible (true); // Atur antarmuka tampilan} public static void main (string [] args) {new guitest (); // instantiate objek}} 4. Perluas manajer tata letak
Berikut adalah formulir login sederhana:
Formulir login sederhana yang diimplementasikan berdasarkan latar belakang JPanel khusus, mengatur tata letak gridbaglayout, menambahkan kotak teks tombol dan kontrol dasar lainnya.
(1) Kodenya adalah sebagai berikut:
impor java.awt.graphics; impor java.awt.gridbagconstraints; impor java.awt.gridbaglayout; impor java.awt.insets; impor javax.swing.imageicon; impor javax.swing.jbutton; impor javax.swing.jframe; impor javax.swing.jlabel; impor javax.swing.jpanel; impor javax.swing.jpasswordfield; impor javax.swing.jtextfield; Kelas Publik Guit {// Deklarasikan Formulir, Panel, dan Kontrol JFRame JFRame Statis Pribadi; Private Jlabel Jlabel, Jlabel1; gridbag gridbaglayout pribadi; Kendala GridBagconstraints Pribadi; Private JTextfield JTField1; private jpasswordfield jpfield1; Private JButton JButton1, JButton2, JButton3; Jpanel Jpanel pribadi; public guit () {jframe = jframe baru (); jlabel = new jlabel (); jlabel1 = new jlabel (); jtfield1 = jTextField baru (); jpfield1 = jpasswordfield baru (); gridbag = new gridbaglayout (); jbutton1 = jbutton baru (); jbutton2 = jbutton baru (); jbutton3 = jbutton baru (); init (); } / ** * init () menginisialisasi dan menampilkan antarmuka * / private void init () {jframe.settitle ("login"); / *** Atur latar belakang jpanel*/ jpanel = jpanel baru () {@Override void paintComponent yang dilindungi (grafik g) {super.paintComponent (g); Imageicon img = ImageIcon baru (guitest.class.getResource ("ddmbg.jpg")); img.painticon (ini, g, 0, 0); }}; // Inisialisasi teks untuk Jlabel, jbutton jlabel.settext ("nama pengguna:"); jlabel1.setText ("kata sandi:"); jbutton1.setText ("login"); jbutton2.setText ("EXIT"); jbutton3.setText ("register"); // Atur posisi tampilan dan ukuran layar 500*400 jframe.setbounds (450, 240, 400, 240); // jpanel menggunakan manajer tata letak gridbaglayout jpanel.setopaque (false); jpanel.setlayout (gridbag); // Inisialisasi label nama pengguna dan tambahkan kontrol ke kendala artboard = getGridBagconstraints (0,0,1,1,0,0, gridbagconstraints.center, gridbagconstraints.none, insets baru (10,0,10,0), 0,0); gridbag.setconstraints (jlabel, kendala); jpanel.add (jlabel); // Inisialisasi kotak teks nama pengguna dan tambahkan komponen ke kendala artboard = getGridBagconstraints (1,0,1,1,0,0, gridbagconstraints.center, gridbagconstraints.none, insets baru (10,0,10,0), 100,0); gridbag.setconstraints (jtfield1, kendala); jpanel.add (jtfield1); // inisialisasi kendala label kata sandi = getGridBagConstraints (0,1,1,1,0,0, gridbagconstraints.center, gridbagconstraints.none, inset baru (10,0,10,0), 0,0); gridbag.setconstraints (jlabel1, kendala); jpanel.add (jlabel1); // Inisialisasi kendala kotak teks kata sandi = getGridBagConstraints (1,1,1,1,0,0, gridbagconstraints.center, gridbagconstraints.none, inset baru (10,0,10,0), 100,0); gridbag.setconstraints (jpfield1, kendala); jpanel.add (jpfield1); // Inisialisasi tombol pendaftaran dan tambahkan kontrol ke kendala artboard = getGridBagconstraints (0,2,1,1,0,0, gridbagconstraints.center, gridbagconstraints.none, insets baru (10,0,10,0), 0,0); gridbag.setconstraints (jbutton3, kendala); jpanel.add (jbutton3); // Inisialisasi batasan tombol login = getGridBagConstraints (1,2,1,1,0,0, gridbagconstraints.center, gridbagconstraints.none, inset baru (10,0,10,0), 0,0); gridbag.setconstraints (jbutton1, kendala); jpanel.add (jbutton1); // inisialisasi kendala tombol keluar = getGridBagConstraints (2,2,1,1,0,0, gridbagconstraints.center, gridbagconstraints.none, inset baru (10,0,10,0), 0,0); gridbag.setconstraints (jbutton2, kendala); jpanel.add (jbutton2); // tambahkan artboard untuk membentuk jframe.add (jpanel); //Form initialization is completed} private static GridBagConstraints getGridBagConstraints(int gridx, int gridy, int gridwidth, int gridheight, double weightx, double weighty, int anchor, int fill, Insets int ipadx, int ipady){ return new GridBagConstraints(gridx, gridy, gridwidth, gridheight, weightx, berat, jangkar, isi, inset, ipadx, iPady); } public static void main (string [] args) {new guit (); jframe.setVisible (true); }}dimana ddmbg adalah nama gambar
(2) Efeknya ditunjukkan pada gambar:
Tata letak adalah fondasi dan juga sangat penting dalam desain GUI.
Untuk menjadi mahir dalam menggunakan dan menguasai tiga tata letak utama dan manajer tata letak lainnya, Anda perlu berlatih sendiri.
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.