Les exemples de cet article partagent avec vous le code spécifique de Java Swing pour implémenter le système de réponse pour votre référence. Le contenu spécifique est le suivant
Comme indiqué dans la figure ci-dessus, le code est disponible pour les tests personnels, comme suit:
import java.awt.borderLayout; import java.awt.color; import java.awt.gridLayout; import java.awt.event.actionEvent; import java.awt.event.actionListener; Importer java.awt.event.KeyEvent; import java.awt.event.keyListener; import java.util.arraylist; Importer 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 étend jframe implémente actionListener, keyListener {private jLabel title = null; privé jbutton soumed = null; Centre Jpanel privé = null; // Les éléments sont utilisés pour sauter privé int item1 = 0; INT privé ITEM2 = 1; INT privé ITEM3 = 2; INT privé ITEM4 = 3; JLABEL PRIVÉ [] FORMALABELS; // Utilisé pour stocker divers éléments d'expressions Liste privée <string> AllResult; // Utilisé pour stocker des résultats aléatoires privés jtexfield [] userresults; // Utilisé pour permettre à l'utilisateur de saisir les résultats privés JLabel [] juge; // Utilisé pour afficher les icônes pour afficher si les résultats de l'entrée utilisateur sont corrects de liste privée <string> inputResults = null; // Vous ne pouvez pas ne pas private jTextField scoreField = null; private int textCount = 1; // Utilisé pour enregistrer le focus actuel public static void main (String [] args) {sa s = new sa (); } public sa () {// TODO constructeur généré automatique Stub inputResults = new ArrayList <string> (); // title instancié = new JLabel ("La question est très simple, répondez-y sérieusement! ~ (1 point pour chaque question, ajoutez 1 point pour une réponse correcte, aucun point ne sera déduit si la réponse est fausse!)"); Soumide = new JBUTTON ("Soumider"); soumid.addactionListener (this); GridLayout Layout = new GridLayout (21, 6); Centre = nouveau JPanel (mise en page); // Call Method Instanciation Method initLables (); IniTUSERRESTULT (); initJudge (); // Remplissez le panneau central (gridLayout) int count = 1; int formulacount = 0; int userresultScount = 0; int jugeCount = 0; while (count <= 120) {// déterminer le nombre% 6 et déterminer quel composant remplir if (compter% 6 == 1 || compter% 6 == 2 || compter% 6 == 3 || count% 6 == 4) {Centre.ADD (ForulalAbels [Forulacount]); forulacount ++; } else if (count% 6 == 5) {Center.Add (userresults [userresultScount]); userresultScount ++; } else if (count% 6 == 0) {Centre.Add (juge [jugeCount]); jugeCount ++; } count ++; } Centre.Add (new JLabel ()); Centre.Add (new JLabel ()); Centre.Add (New JLabel ("Score total:")); scoreField = new JTextField (); SCOREFIELD.SETEDITALE (FAUX); Centre.Add (Scorefield); Centre.Add (new JLabel ()); Centre.Add (new JLabel ()); this.add (centre, borderlayout.center); // ajouter le composant this.add (soumettre, borderlayout.south); this.add (titre, borderlayout.north); // montre this.setLocation (400, 10); this.setVisible (true); this.setSize (500, 700); this.setDefaultCloseOperation (jframe.exit_on_close); this.setTitle ("Système de test simple"); essayez {thread.sleep (500); } Catch (InterruptedException e) {// TODO Block de catch généré automatiquement e.printStackTrace (); } userresults [0] .RequestFocus (); } / ** * Cette méthode est utilisée pour initialiser un tableau de divers éléments de la formule * / private void initlables () {int sum; int int firstNumber; int secondNumber; allResult = new ArrayList <string> (); // Créez l'étiquette d'équation this.formulalabels = new JLabel [80]; // Instance chaque étiquette dans le tableau pour (int i = 0; i <80; i ++) {ForulalAbels [i] = new JLabel (); } // Attribuez le contenu de chaque élément de l'expression et stockez la somme des nombres aléatoires dans la liste Array pour les résultats de vérification ultérieurs tandis que (item4 <80) {FirstNumber = new Random (). NextInt (99) + 1; FORMALABELS [ITEM1] .SETTEXT (String.ValueOf (FirstNumber)); FORMALABELS [ITEM2] .SETTEXT ("+"); SecondNumber = new Random (). NextInt (99) + 1; FORMALABELS [ITEM3] .SETTEXT (String.ValueOf (SecondNumber)); FORMALABELS [ITEM4] .SETTEXT ("="); sum = firstNumber + SecondNumber; AllResult.Add (String.ValueOf (SUM)); item1 + = 4; item2 + = 4; item3 + = 4; item4 + = 4; } // pour (int i = 0; i <80; i ++) {// system.out.println (ForulalAbels [i] .getText ()); //}} / ** * Cette méthode est utilisée pour instancier le tableau Userresults et instancier chaque JTextField inUserErrestult () {userresults = new JTextField [20]; for (int i = 0; i <20; i ++) {userresults [i] = new JTextField (); userresults [i] .SetSize (20, 20); // L'auditeur a ajouté d'après Userresults [i] .AddkeyListener (this); }} / ** * Cette méthode est utilisée pour instancier le tableau de juge et instancier chaque étiquette dedans * / private void initJudge () {juge = new JLabel [20]; pour (int i = 0; i <20; i ++) {juge [i] = new JLabel ("partager"); }} // Implémentez la méthode d'écoute, ce que vous voulez faire après que l'utilisateur clique pour soumettre @Override public void ActionPerformed (ActionEvent Arg0) {// TODO Méthode générée automatique Stub int score = 0; pour (int i = 0; i <20; i ++) {// Obtenez tous les résultats entrés par l'utilisateur et enregistrez-les dans une liste Array. Vous ne pouvez pas entrer en entrée. System.out.println (userresults [i] .getText (). ToString ()); // Sortez la réponse saisie par l'utilisateur et comparez-la avec les résultats calculés précédents. S'il est faux, définissez l'étiquette suivante à la mauvaise réponse. // Si c'est correct, définissez-le sur la bonne réponse de réponse Résultat = userresults [i] .getText (). ToString (). Trim (); if (result.equals (allResult.get (i))) {juge [i] .setText ("La réponse est correcte"); juge [i] .setForeground (Color.Red); score ++; } else {juge [i] .setText ("Response d'erreur"); juge [i] .setForeground (Color.Green); }} scoreField.seTText (string.valueof (score)); } @Override public void keyPdress (keyEvent e) {// TODO Méthode générée automatiquement if (textCount <19) {textCount ++; }}} @Override public void keyTyped (keyEvent e) {// Todo Method-Generated Method Stub} @Override public void keyrelent (keyEvent e) {// Todo Auto-Generated Method Stub}}Pour plus de matériel d'apprentissage, veuillez faire attention au sujet spécial «développement du système de gestion».
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.