Los ejemplos de este artículo comparten con usted el código específico de Java Swing para implementar el sistema de contestadores para su referencia. El contenido específico es el siguiente
Como se muestra en la figura anterior, el código está disponible para pruebas personales, de la siguiente manera:
import java.awt.borderlayut; import java.awt.color; import java.awt.gridLayout; import java.awt.event.actionEvent; import java.awt.event.actionListener; import java.awt.event.keyevent; import java.awt.event.Keylistener; import java.util.arrayList; import java.util.list; import java.util.random; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jpanel; import javax.swing.jTextfield; / ** * 2017-01-09 * @author koow * */ public class SA extiende jframe implementos ActionListener, KeyListener {private jlabel title = null; Private JButton Subt = Null; Centro de jpanel privado = nulo; // Los elementos se utilizan para saltar private int item1 = 0; private int item2 = 1; private int item3 = 2; private int item4 = 3; Jlabel privado [] Formulalabels; // se usa para almacenar varios elementos de expresiones Lista privada <String> AllResult; // utilizado para almacenar resultados aleatorios JTextfield [] userResults; // utilizado para dejar que el usuario ingrese los resultados Jlabel privado [] Juez; // Se utiliza para mostrar iconos para mostrar si los resultados de la entrada del usuario son la lista privada correcta <String> inputResults = null; // No puedes hacer JTEXTFIELD PRIVADO = NULL; Private int textCount = 1; // se utiliza para registrar el enfoque actual público void estático main (String [] args) {sa s = new Sa (); } public sa () {// TODO Generado Auto Generado Stub inputResults = new ArrayList <String> (); // title instanciado = new JLabel ("La pregunta es muy simple, ¡responda en serio! ~ (1 punto para cada pregunta, agregue 1 punto para la respuesta correcta, no se deducirán puntos si la respuesta es incorrecta!)"); enviar = new JButton ("enviar"); enviar.AddactionListener (esto); Diseño de GridLayout = nuevo GridLayout (21, 6); centro = nuevo JPanel (diseño); // Método de llamado Método de instancia initlables (); initusErRestult (); initjudge (); // Complete el panel central (GridLayout) int count = 1; int formulacount = 0; int usreRresultScount = 0; int juyGecount = 0; mientras (cuente <= 120) {// determine el recuento % 6 y determine qué componente llenar si (recuento % 6 == 1 || Conde % 6 == 2 || Conde % 6 == 3 || Conde % 6 == 4) {Center.Add (FormulAlabels [Formulacount]); formulacount ++; } else if (Count % 6 == 5) {Center.Add (userResults [userResultScount]); UserResultScount ++; } else if (Count % 6 == 0) {Center.Add (Juez [Judgecount]); Judgecount ++; } recuento ++; } Center.Add (new JLabel ()); Center.add (new JLabel ()); Center.Add (nuevo JLabel ("Total Score:")); scattefield = new JTextField (); scAingField.setEditable (falso); Center.Add (scorefield); Center.add (new JLabel ()); Center.add (new JLabel ()); this.add (Center, BorderLayout.Center); // Agregar componente this.add (enviar, borderLayout.South); this.add (título, borderLayout.north); // Mostrar this.setLocation (400, 10); this.setVisible (verdadero); this.setsize (500, 700); this.setDefaultCloseOperation (jframe.exit_on_close); this.settitle ("Sistema de prueba simple"); intente {thread.sleep (500); } Catch (InterruptedException e) {// TODO Auto Generado Bloque E.PrintStackTrace (); } userResults [0] .RequestFocus (); } / *** Este método se usa para inicializar una matriz de varios elementos de la fórmula* / private void initlables () {int sum; int FirstNumber; int SecondNumber; allResult = new ArrayList <String> (); // Cree la etiqueta de la ecuación this.formulalabels = new JLabel [80]; // instancia cada etiqueta en la matriz para (int i = 0; i <80; i ++) {FormulAlabels [i] = new JLabel (); } // Asigne el contenido de cada elemento de la expresión y almacene la suma de los números aleatorios en la ArrayList para obtener resultados de verificación posteriores mientras (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 (suma)); Artículo1 += 4; item2 += 4; item3 += 4; item4 += 4; } // for (int i = 0; i <80; i ++) {// system.out.println (formulalabels [i] .gettext ()); //}} /*** Este método se usa para instanciar la matriz de UserResults e instanciar cada jtextfield initusErRestult () {userResults = new JTextfield [20]; para (int i = 0; i <20; i ++) {userResults [i] = new JTextField (); userResults [i] .setsize (20, 20); // El oyente agregó después de UserResults [i] .Addkeylistener (esto); }} / *** Este método se usa para instanciar la matriz de juez e instanciar cada etiqueta en él* / private void initjudge () {jueces = new JLabel [20]; para (int i = 0; i <20; i ++) {juzgar [i] = new JLabel ("Compártelo"); }} // Implementar el método de escucha, lo que desea hacer después de hacer clic en el usuario para enviar @Override public void ActionPerformed (ActionEvent Arg0) {// TODO Auto Generado Método STUB int score = 0; para (int i = 0; i <20; i ++) {// Obtenga todos los resultados ingresados por el usuario y guárdelos en una lista de matrices. No puede hacerlo EntryResults.Add (userResults [i] .gettext (). ToString (). Trim ()); System.out.println (userResults [i] .gettext (). ToString ()); // Saque la respuesta ingresada por el usuario y compare con los resultados calculados anteriores. Si está mal, configure la etiqueta posterior en la respuesta incorrecta. // Si es correcto, configúrelo en la cadena de respuesta correcta result = userResults [i] .gettext (). ToString (). Trim (); if (resultado.equals (allresult.get (i))) {juzgar [i] .settext ("la respuesta es correcta"); juez [i] .setForeground (color.red); puntaje ++; } else {juzgar [i] .settext ("respuesta de error"); juez [i] .setForeground (color.green); }} storkfield.settext (string.ValueOf (score)); } @Override public void keyPressed (KeyEvent E) {// TODO Auto Generated Method Stub if (E.GetKeyCode () == KeyEvent.vk_enter) {userResults [textCount] .RequestFocus (); if (textCount <19) {textCount ++; }}} @Override public void keyTyped (KeyEvent E) {// TODO Método Generado automático} @Override public void KeyReleaded (KeyEvent E) {// TODO Autorgenerado Método Generado}}}Para obtener más materiales de aprendizaje, preste atención al tema especial "Desarrollo del sistema de gestión".
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.