Jendela login umumnya sangat umum, jadi mari kita tulis sendiri!
PS: Banyak impor yang duplikat karena saya menulisnya dalam beberapa kategori dan harus diimpor secara terpisah.
// Simulasi jendela login QQ Impor Java.awt.*; Import java.io.*; Import java.awt.event.*; Import javax.swing.*; Kelas publik qqGUI memperluas jFrame mengimplementasikan ActionListener {private jlabel userla; Private Jlabel Pwdla; Private Jlabel Vercodela; // Kode Verifikasi Private JTextfield Usertxt; private jpasswordfield pwdtxt; Private JTextField vercodetxt; // Kode Verifikasi Private JButton Surebt; Private Jbutton Quitbt; Private Mypanel MP; // metode konstruksi public qqGUI () {init (); } public void init () {frame frame = frame baru ("qq login"); // Buat objek kontrol (karena di atas hanya dinyatakan dan tidak memberikan ruang yang sebenarnya) // pengguna pengguna userla = new jlabel (); userla.setText ("Nama pengguna:"); userla.setsize (60, 50); userla.setlocation (100, 80); // teks kata sandi pwdla = jlabel baru (); pwdla.setText ("kata sandi:"); pwdla.setsize (50, 50); pwdla.setlocation (100, 120); // kotak input pengguna usertxt = jTextField baru (); Usertxt.setsize (100, 20); //This.setsize(width, tinggi) usertxt.setlocation (170, 95); // kotak input kata sandi pwdtxt = jpasswordfield baru (); pwdtxt.setsize (100, 20); pwdtxt.setlocation (170, 135); // Konfirmasi tombol SurebT = jbutton baru ("login"); Surebt.setsize (60, 25); Surebt.setlocation (135, 260); // tombol keluar QUITBT = JBUTTON baru ("EXIT"); quitbt.setsize (60, 25); quitbt.setlocation (240, 260); // kode verifikasi teks vercodela = jLabel baru (); vercodela.setText ("kode verifikasi:"); vercodela.setsize (60, 50); vercodela.setlocation (100, 165); // kotak verifikasi kotak teks vercodetxt = new jTextField (); vercodetxt.setsize (100, 20); vercodetxt.setlocation (170, 180); // kode verifikasi mp = mypanel baru (); MP.Setsize (100, 30); mp.setlocation (280, 175); // kotak pemilihan metode login jcombobox xlk = new jcomboBox (); xlk.setsize (60, 20); xlk.setlocation (250, 220); xlk.additem ("online"); xlk.additem ("Invisible"); xlk.additem ("cuti"); this.setLayout (null); this.setsize (500, 400); this.add (userla); this.add (pwdla); this.add (usertxt); this.add (tentu saja); this.add (quitbt); this.add (vercodela); this.add (vercodetxt); this.add (mp); this.add (xlk); Surebt.addactionListener (ini); quitbt.addactionListener (ini); this.setVisible (true); } // penanganan acara spesifik public void actionPerformed (actionEvent e) {// Dapatkan sumber acara casting jbutton bt = (jbutton) e.getSource (); // Dapatkan teks yang ditampilkan pada string tombol str = bt.getText (); if (str.equals ("login")) {if (! checkIsnull ()) {// Dapatkan nama pengguna yang dimasukkan oleh pengguna pengguna pengguna = usertxt.getText (). trim (); // Dapatkan kata sandi yang dimasukkan oleh string pengguna pwd = pwdtxt.getText (). Trim (); if (checkuserandpwd (pengguna, pwd)) {// sembunyikan jendela login saat ini this.setVisible (false); // Pastikan bahwa jendela utama berhasil membuat bingkai mainframe = mainframe baru (); } else {// Jika salah, kotak tampilan akan memunculkan joptionpane pane = new joptionpane ("kesalahan pengguna atau kata sandi"); Dialog jDialog = pane.createdialog (ini, "peringatan"); dialog.show (); }}} else {// hubungi salah satu kelas sistem untuk keluar dari system.exit (0); }} private boolean checkIsnull () {boolean flag = false; if (usertxt.getText (). trim (). equals (")) {flag = true;} else {if (pwdtxt.getText (). trim (). equals (")) {flag = true; }} return flag; } private boolean checkUserandpwd (string user, string pwd) {boolean hasil = false; Coba {FileReader File = new filereader ("d: // workspaces // myeclipse 8.5 // testgui.txt"); BufferedReader BRE = BufferedReader baru (file); String str = bre.readline (); while (str! = null) {string [] strs = str.split (","); if (strs [0] .Equals (user)) {if (strs [1] .Equals (pwd)) hasil = true; } str = bre.readline (); } file.close (); } catch (Exception ex) {System.out.print (""); } hasil pengembalian; }} // kelas mainframe Impor javax.swing.*; Kelas publik Mainframe memperluas jframe {public mainframe () {this.setsize (300, 300); this.setVisible (true); }} // pembuatan kode verifikasi impor java.awt.*; Import java.util.*; Kelas publik mypanel memperluas panel {public void cat (grafik g) {int height = 50; Int Width = 90; // Kode Verifikasi Latar Belakang Kotak Color G.SetColor (Color.Light_Gray); // Isi latar belakang kode verifikasi g.fillrect (0, 0, lebar, tinggi); G.SetColor (Color.Black); G.Drawrect (0, 0, lebar-1, tinggi-1); Acak r = acak baru (); // Atur titik interferensi untuk (int i = 0; i <100; i ++) {int x = r.nextInt (lebar) -1; int y = r.nextint (tinggi) -1; G.Drawoval (x, y, 2, 2); } g.setfont (font baru ("bold", font.bold, 20)); // Atur font kode verifikasi dan ukuran g.setColor (color.red); // Atur Warna Font Kode Verifikasi // Hasilkan Kode Verifikasi Acak Char [] TMP = ("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSUVWXYZ"). TOCHARARRAY (); StringBuilder SB = StringBuilder baru (); untuk (int i = 0; i <4; i ++) {int pos = r.nextInt (tmp.length); char c = tmp [pos]; SB.Append (C + ""); } G.DrawString (SB.ToString (), 10, 15); // Tulis kode verifikasi}} // Implementasi kotak drop-down impor java.awt.*; impor java.awt.event.*; impor javax.swing.*; public class xiaalakuang memperluas jframe {private JCOMBOB JAVAX.SWING.* // jpanel panel = jpanel baru (); // Buat panel jpanel komboBox = new jcomboBox (); combobox.additem ("online"); combobox.additem ("Invisible"); combobox.additem ("cuti"); this.add (ComboBox); //this.add(panel); this.setsize (200, 100); this.setDefaultCloseOperation (jframe.exit_on_close); this.setVisible (true); }} // uji kelas publik testqqui {/** * @param args */public static void main (string [] args) {// TODO Metode yang dihasilkan secara otomatis Stub qqGUI frame = qqgui baru (); }}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.