Входные окна, как правило, очень распространены, поэтому давайте сами напишем его!
PS: Многие импорты являются дублированными, потому что я написал их в нескольких категориях и должен быть импортирован отдельно.
// Моделируйте окно QQ WONKIN IMPORT JAVA.AWT.*; Import Java.io.*; Import Java.awt.Event.*; Import Javax.swing.*; Открытый класс QQGui Extens JFrame реализует ActionListener {private jlabel userla; Частный Jlabel Pwdla; Частный jlabel vercodela; // код проверки private jtextfield usertxt; Private JPasswordfield pwdtxt; private jtextfield vercodetxt; // код проверки private jbutton searbt; Частный Jbutton Quitbt; Частный депутат MyPanel; // метод строительства public qqgui () {init (); } public void init () {Frame Frame = new Frame ("QQ Login"); // Создать объект управления (потому что приведенное выше просто объявлено и не дает фактического пространства) // Пользовательский текст userla = new jlabel (); userla.settext ("имя пользователя:"); userla.setsize (60, 50); userla.setLocation (100, 80); // пароль текст pwdla = new jlabel (); pwdla.settext ("пароль:"); pwdla.setsize (50, 50); pwdla.setLocation (100, 120); // Пользовательский ввод USERTXT = new JTextField (); USERTXT.SetSize (100, 20); //This.setsize(width, высота) usertxt.setlocation (170, 95); // BASSERON TONG BOX PWDTXT = new JPasswordfield (); pwdtxt.setsize (100, 20); pwdtxt.setLocation (170, 135); // Подтверждение кнопки Surebt = new Jbutton ("login"); searbt.setsize (60, 25); Searbt.SetLocation (135, 260); // кнопка выхода Quitbt = new jbutton ("exit"); quitbt.setsize (60, 25); Quitbt.SetLocation (240, 260); // код проверки текст vercodela = new jlabel (); vercodela.settext ("код проверки:"); vercodela.setsize (60, 50); Vercodela.SetLocation (100, 165); // Код проверки текстовое поле vercodetxt = new jtextfield (); vercodetxt.setsize (100, 20); vercodetxt.setlocation (170, 180); // код проверки mp = new MyPanel (); mp.setsize (100, 30); MP.SetLocation (280, 175); // поле выбора метода входа в систему jcombobox xlk = new jcombobox (); xlk.setsize (60, 20); XLK.SetLocation (250, 220); xlk.additem ("Online"); xlk.additem ("невидимый"); xlk.additem ("оставить"); this.setlayout (null); это. setize (500, 400); this.add (userla); this.add (pwdla); this.add (usertxt); this.add (searbt); this.add (Quitbt); this.add (vercodela); this.add (vercodetxt); this.add (mp); this.add (xlk); searbt.addactionListener (это); quitbt.addactionListener (это); this.setvisible (true); } // Обработка конкретных событий public void actionperformed (actionEvent e) {// Получить источник события jbutton bt = (jbutton) e.getSource (); // Получить текст, отображаемый на кнопке string str = bt.getText (); if (str.equals ("login")) {if (! checkisnull ()) {// Получить имя пользователя, введенное пользовательской строкой user = usertxt.gettext (). trim (); // Получить пароль, введенный пользовательской строкой pwd = pwdtxt.getText (). Trim (); if (ceckuserAndpwd (user, pwd)) {// скрыть текущее окно входа в систему this.setvisible (false); // Убедитесь, что главное окно успешно создано Manaframe Frame = new Manainframe (); } else {// Если это неправильно, появится ящик отображения joptionpane pane = new joptionpane ("ошибка пользователя или пароля"); Jdialog dialog = pane.createdialog (это, «предупреждение»); dialog.show (); }}} else {// Вызовите один из классов системы, чтобы выйти System.exit (0); }} private boolean checkisnull () {boolean flag = false; if (usertxt.getText (). trim (). equals (")) {flag = true;} else {if (pwdtxt.getText (). trim (). equals (")) {flag = true; }} вернуть флаг; } private boolean checkuserAndpwd (String user, String pwd) {boolean result = false; try {fileReader file = new FileReader ("d: // Workspaces // myeclipse 8.5 // testgui.txt"); BufferedReader BRE = new BufferedReader (файл); String str = bre.readline (); while (str! = null) {string [] strs = str.split (","); if (strs [0] .equals (user)) {if (strs [1] .equals (pwd)) result = true; } str = bre.readline (); } file.close (); } catch (Exception ex) {System.out.print (""); } return Result; }} // класс MainFrame import javax.swing.*; Открытый класс Mainframe Extends jframe {public manainframe () {this.setsize (300, 300); this.setvisible (true); }} // генерация кода проверки импорт java.awt.*; Import java.util.*; Public class mypanel extends panel {public void paint (графика g) {int height = 50; int width = 90; // проверка кода фона цвета G.SetColor (color.light_gray); // заполнить фон кода проверки G.FillRect (0, 0, ширина, высота); g.setcolor (color.black); G.DrawRect (0, 0, ширина-1, высота-1); Случайный r = new Random (); // Установить интерференционную точку для (int i = 0; i <100; i ++) {int x = r.nextint (ширина) -1; int y = r.nextint (высота) -1; G.Drawoval (x, y, 2, 2); } g.setfont (новый шрифт ("Bold", font.bold, 20)); // Установить шрифт кода проверки и размер g.setcolor (color.red); // Установить цвет шрифта кода проверки // Сгенерировать код случайной проверки char [] tmp = ("0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"). ToCharRaray (); StringBuilder SB = new StringBuilder (); for (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); // Запись код проверки}} // реализация раскрывающейся коробки импорт java.awt.*; импорт java.awt.event.*; импорт javax.swing.*; // jpanel panel = new jpanel (); // Создать JPanel Panel ComboBox = new jcombobox (); combobox.additem ("Online"); combobox.additem ("невидимый"); combobox.additem ("оставить"); this.add (combobox); //this.add(panel); это. Setize (200, 100); this.setDefaultCloseoPeration (jframe.exit_on_close); this.setvisible (true); }} // тестирование открытого класса testQqui {/** * @param args */public static void main (string [] args) {// todo автоматически генерируемый метод qqgui frame = new qqgui (); }}Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.