Примеры в этой статье делятся с вами конкретным кодом Swing Java для реализации системы автоответчиков для вашей справки. Конкретный контент заключается в следующем
Как показано на приведенном выше рисунке, код доступен для личного тестирования, следующим образом:
импортировать java.awt.borderlayout; импортировать java.awt.color; импортировать java.awt.gridlayout; импортировать java.awt.event.actionevent; импортировать java.awt.event.actionlistener; импортировать java.awt.event.keyevent; импортировать java.awt.event.keylistener; импортировать java.util.arraylist; импортировать java.util.list; импортировать java.util.random; Импорт javax.swing.jbutton; импортировать javax.swing.jframe; импортировать javax.swing.jlabel; импортировать javax.swing.jpanel; импортировать javax.swing.jtextfield; / ** * 2017-01-09 * @Author KOOW * */ Public Class SA расширяет JFrame реализует ActionListener, KeyListener {private Jlabel Title = null; Частный Jbutton отправить = null; Частный JPanel Center = NULL; // элементы используются для прыжка частного int item1 = 0; частный int item2 = 1; частный int item3 = 2; частный int item4 = 3; Частный jlabel [] formulalabels; // используется для хранения различных предметов выражений частный список <string> allresult; // используется для хранения случайных результатов private jtextfield [] userresults; // используется, чтобы позволить пользователю ввести результаты частные Jlabel [] судья; // используется для отображения значков, чтобы показать, являются ли результаты пользовательского ввода правильными частным списком <string> inputResults = null; // Вы не можете сделать частное JTEXTFIELD SCOSTFIELD = NULL; private int textCount = 1; // используется для записи текущего фокуса Public Static Void Main (String [] args) {sa s = new sa (); } public SA () {// TODO Автогенерированный конструктор STUB inputResults = new ArrayList <String> (); // созданный ittle = new jlabel («Вопрос очень прост, ответьте на него серьезно! отправить = new jbutton ("отправить"); отправить. AddactionListener (это); Mayout Gridlayout = New Gridlayout (21, 6); Центр = новый JPanel (макет); // метод вызова initUSERRESTULT (); initJudge (); // заполнить центральную панель (Gridlayout) int count = 1; int formulAcount = 0; int userresultscount = 0; int JudgeCount = 0; while (count <= 120) {// определить счет % 6 и определить, какой компонент заполнить if (count % 6 == 1 || count % 6 == 2 || count % 6 == 3 || count % 6 == 4) {center.add (formulalaLabels [formulAcount]); FormulAcount ++; } else if (count % 6 == 5) {center.add (userresults [userresultcount]); UserResultScount ++; } else if (count % 6 == 0) {center.add (судья [JudgeCount]); JudgeCount ++; } count ++; } center.add (new jlabel ()); center.add (new jlabel ()); Center.Add (New Jlabel («Total Score:»)); SCOSTFIELD = new JTextField (); Scorefield.SetEdable (false); Center.Add (за счет); center.add (new jlabel ()); center.add (new jlabel ()); this.add (Center, borderlayout.center); // Добавить компонент this.add (отправить, borderlayout.south); this.add (title, borderlayout.north); // показать это .setLocation (400, 10); this.setvisible (true); это. setize (500, 700); this.setDefaultCloseoPeration (jframe.exit_on_close); this.setTitle («Простая система испытаний»); try {thread.sleep (500); } catch (прерванная экспрессия e) {// todo автоматически сгенерированный блок e.printstacktrace (); } userResults [0] .RequestFocus (); } / *** Этот метод используется для инициализации массива различных элементов формулы* / private void initlables () {int sum; int firstnumber; int secondumber; allResult = new ArrayList <string> (); // Создать метку уравнения this.formulalabels = new jlabel [80]; // экземпляр каждая метка в массиве для (int i = 0; i <80; i ++) {formulAlabels [i] = new jlabel (); } // Присвоение содержимого каждого элемента выражения и сохранить сумму случайных чисел в массивном списке для последующих результатов проверки, в то время как (item4 <80) {FirstNumber = new Random (). NextInt (99) + 1; Formulalabels [item1] .settext (string.valueof (firstnumber)); Formulalabels [item2] .settext ("+"); SecondNumber = new Random (). NextInt (99) + 1; Formulalabels [item3] .settext (string.valueof (secondnumber)); Formulalabels [item4] .settext ("="); sum = firstnumber + secondnumber; allresult.add (string.valueof (sum)); item1 += 4; item2 += 4; item3 += 4; item4 += 4; } // for (int i = 0; i <80; i ++) {// System.out.println (formulalAbels [i] .getText ()); //}} /*** Этот метод используется для создания массива Userresults и создания каждого JTEXTFIELD initUSERRESTULT () {userResults = new JTextField [20]; for (int i = 0; i <20; i ++) {userresults [i] = new jtextfield (); Userresults [i] .setsize (20, 20); // Слушатель добавил после Userresults [i] .adkeyListener (это); }} / **. for (int i = 0; i <20; i ++) {judge [i] = new jlabel («Поделиться»); }} // Реализовать метод прослушивания, что вы хотите сделать после того, как пользователь нажимает, чтобы отправить @Override public void actionperformed (actionevent arg0) {// todo с генерируемым методом stub int int acl = 0; Для (int i = 0; i <20; i ++) {// Получите все результаты, введенные пользователем, и сохраните их в ArrayList. Вы не можете не вводить results.add (userresults [i] .getText (). ToString (). Trim ()); System.out.println (userresults [i] .getText (). ToString ()); // Установите ответ, введенный пользователем, и сравните его с предыдущими вычисленными результатами. Если это неправильно, установите последующую метку на неправильный ответ. // Если это правильно, установите его на правильный ответ struct resul = userresults [i] .getText (). ToString (). Trim (); if (result.equals (allresult.get (i))) {dude [i] .settext («Ответ правильный»); Судья [i] .setforeground (color.red); счет ++; } else {dude [i] .settext ("Ошибка ответа"); Судья [i] .setforeground (color.green); }} scordfield.settext (string.valueof (scord)); } @Override public void keypressed (KeyEvent E) {// TODO Автогенерированный метод stub if (e.getkeycode () == keyevent.vk_enter) {userresults [textcount] .requestfocus (); if (textCount <19) {textCount ++; }}} @Override public void keytyped (keyEvent e) {// todo Автогенерированный метод stub} @override public void keyrealed (keevent e) {// todo автоматически генерируется stub}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}Для получения дополнительных учебных материалов обратите внимание на специальную тему «Разработка системы управления».
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.