1. Préface
1) Cette calculatrice est écrite sur la base de l'interface graphique AWT dans le langage Java. En fait, je pense que peu importe la fonction qu'il implémente lors de l'écriture de cette calculatrice. Le marché ne manque pas de cette calculatrice, mais utilise plutôt le fonctionnement et l'utilisation de contrôles simples dans AWT. En vous connectant et en vous familiarisant avec les bases de l'AWT, en jetant les bases d'un apprentissage approfondi. Cette calculatrice a également une fonction très simple et est facile à utiliser. Cependant, si vous êtes intéressé, vous pouvez continuer à ajouter des fonctions et à améliorer les opérations.
2) Plateforme d'utilisation: Utilisation principalement de MyEclipse2014
3) Points de connaissance principaux: bases de Java; AWT + swing
2. Implémentation de la fonction et affichage du code
1) Il s'agit principalement de l'exercice de la disposition de la disposition, de l'utilisation des zones de texte Artboard et de l'enregistrement et de la surveillance des événements de boutons de contrôle. Parce que la fonction est également très simple, le code est abrégé dans la même classe. Les quatre opérations de base sont réalisées.
2) Le code est le suivant:
import java.awt.borderLayout; import java.awt.gridLayout; import java.awt.textfield; import java.awt.event.actionEvent; import java.awt.event.actionListener; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jpanel; import java.awt.color; classe publique Jisuanji {cadre JFrame privé; // Déclarer le panneau de mise en page pertinent privé JPanel PanelWest; JPANEL PANNELCER privé; Panneaux JPanel privés; Private Textfield TF; JBUTTON PRIVÉ Buttonzero; // Déclarer le bouton Contrôle privé Jbutton Buttondot; JBUTTON PRIVÉ Buttonqual; JBUTTON PRIVÉ, Buttonminus, ButtonMultiple, ButtondEvision, Buttonsin, Toitrozozero; Buttonnone JBUTTON privé, Buttontwo, ButtonTHree, ButtonFour, Buttonfive, ButtonsIX, ButtonseVen, Buttonight, Buttonnine; Écouteur privé de ButtonListener; // Déclare l'événement d'écoute public static void main (String args []) {new Jisuanji (); } public jisuanji () {initView (); // Instancier l'objet associé setCenter (); // Disposition ajoute des commandes et des contrôles associés pour gérer SetWest (); setEast (); addListener (); // Définir l'écoute setFrame (); // Définir la mise en page et le traitement d'affichage de la catégorie} Classe ButtonListener implémente ActionListener {int biiaozhi = 0; // Initialise la variable associée double Flag1 = 0, Flag2 = 0, Flag3 = 0; // @ Override public void ActionperFormEd (ActionEvent e) {// (1) via e.getsource (), obtenez la source du bouton de l'événement de clic et effectuez un traitement correspondant if (e.getsource () == Buttondot) {tf.settext ("0."); } if (e.getSource () == ButtontozoRero) {tf.setText (""); } if (e.getSource () == ButtonZero) {tf.seTText (tf.getText () + "0"); Flag1 = double.parsedouble (tf.getText ()); } else if (e.getsource () == Buttonone) {tf.seTText (tf.getText () + "1"); // La zone de texte affiche 1, 2, 3 .. Flag1 = double.parsedouble (tf.getText ()); } else if (e.getSource () == Buttontwo) {tf.setText (tf.getText () + "2"); Flag1 = double.parsedouble (tf.getText ()); } else if (e.getsource () == ButtonTheRe) {tf.seTTExt (tf.getText () + "3"); Flag1 = double.parsedouble (tf.getText ()); } else if (e.getSource () == ButtonFour) {tf.seTTExt (tf.getText () + "4"); Flag1 = double.parsedouble (tf.getText ()); } else if (e.getsource () == ButtonFive) {tf.seTTExt (tf.getText () + "5"); Flag1 = double.parsedouble (tf.getText ()); } else if (e.getsource () == ButtonsIX) {tf.seTTExt (tf.getText () + "6"); Flag1 = double.parsedouble (tf.getText ()); } else if (e.getsource () == ButtonsIX) {tf.seTTExt (tf.getText () + "6"); Flag1 = double.parsedouble (tf.getText ()); } else if (e.getSource () == ButtonSeVen) {tf.seTTExt (tf.getText () + "7"); Flag1 = double.parsedouble (tf.getText ()); } else if (e.getSource () == ButtOneight) {tf.seTText (tf.getText () + "8"); Flag1 = double.parsedouble (tf.getText ()); } else if (e.getsource () == Buttonnine) {tf.seTTExt (tf.getText () + "9"); Flag1 = double.parsedouble (tf.getText ()); } if (e.getSource () == ButtonPlus) {tf.seTTeXt (""); Flag2 = Flag1; biozhi = 0; } if (e.getSource () == ButtonMinus) {tf.setText (""); Flag2 = Flag1; biozhi = 1; } if (e.getSource () == ButtonMultiple) {tf.seTText (""); Flag2 = Flag1; biozhi = 2; } if (e.getSource () == ButtondEvision) {tf.seTTExt (""); Flag2 = Flag1; biozhi = 3; } if (e.getSource () == ButtonsIn) {flag3 = math.sin (Flag1); tf.seTText (Flag3 + ""); } if (e.getSource () == ButtOneQual) {if (biaozHi == 0) {Flag3 = Flag2 + Flag1; } if (biaozhi == 1) {flag3 = flag2-fllag1; } if (biaozHi == 2) {Flag3 = Flag2 * Flag1; } if (biaozHi == 3) {Flag3 = Flag2 / Flag1; } tf.seTText (Flag3 + ""); }}} private void initView () {/ ** * Create Frame, petit objet de conteneur, objet de bouton * / tf = new TextField (30); // Initialize Interface Width Frame = new JFrame ("ordinateur simple"); PannelCenter = new JPanel (); PANNELWEST = NOUVEAU JPANEL (); PannelEast = new JPanel (); écouteur = new ButtonListener (); // Instancier l'objet d'écoute} private void setCenter () {// (1) Initialiser la valeur d'affichage du bouton de contrôle = new JButton ("1"); tortontwo = new JButton ("2"); ButtonTheRe = new Jbutton ("3"); ButtonFour = new Jbutton ("4"); ButtonFive = new Jbutton ("5"); ButtonsIX = new JButton ("6"); ButtonSeven = new Jbutton ("7"); Buttonneight = new Jbutton ("8"); Buttonnine = new Jbutton ("9"); // (2) Set Layout Style PanelCenter.SetLayout (new GridLayout (3,3)); // Disposition en fonction du contenu // (3) Ajouter des boutons de contrôle PanelCenter.add (Buttonone); PANNECERCENDER.ADD (TORTONTWO); PANNECERCENDER.ADD (ButtonTheRe); PANNECTENCER.ADD (ButtonFour); PANNECTENCER.ADD (ButtonFive); PANNELCENDER.ADD (ButtonsIX); PANNECTENCER.ADD (ButtonSeVen); PANNECERCERNER.ADD (Buttonneight); PannelCenter.Add (Buttonnine); } private void setEast () {// (1) définir le symbole d'affichage de contrôle ButtonPlus = new JButton ("+"); Buttonminus = new JButton ("-"); ButtonMultiple = new Jbutton ("*"); ButtondEvision = new JButton ("/"); ButtonsIn = new Jbutton ("Sin"); TORSONTOZERO = new JBUTTON ("Clear"); // (2) Définissez le style de mise en page PANNEALSST.SETLAYOUT (new GridLayout (3,2)); // (3) Ajouter le panneau de configuration du bouton correspondant. PALONSEALST.ADD (ButtonMinus); PanneasSt.Add (ButtonMultiple); PanneasSt.Add (ButtondEvision); PanneasSt.Add (ButtondEvision); PALONSEALST.ADD (ButtonsIn); PannearEast.Add (ButtontoZero); } private void setWest () {// (1) Initialiser la valeur d'affichage de contrôle Buttonzero = new Jbutton ("0"); Buttondot = new Jbutton ("."); ButtonQual = new JButton ("="); // (2) Définissez la disposition de ces trois boutons PanelWest.SetLayout (nouveau GridLayout (3,1)); // (3) Ajouter une commande de bouton sur la disposition gauche, ajouter trois boutons dans le panneau de dispositionwest.add (boutonzero); PANNELWEST.ADD (BUTTONDOT); PANNELWEST.ADD (ButtonQual); } private void addListener () {// (1) Ajouter des boutons d'écoute pour les boutons correspondant à 1-9.AdDactionListener (écouteur); toitontwo.addactionListener (écouteur); ButtonTheRe.AddactionListener (écouteur); ButtonFour.AddactionListener (écouteur); ButtonFive.AddactionListener (écouteur); ButtonsIX.AddactionListener (écouteur); ButtonSeven.AddactionListener (écouteur); Buttonneight.AddactionListener (écouteur); Buttonneight.AddactionListener (écouteur); boutonnine.addactionListener (auditeur); // (2) Ajouter l'écoute de ButtonPlus.AddactionListener (écouteur); Buttonminus.AddactionListener (écouteur); ButtonMultiple.AddactionListener (écouteur); ButtondEvision.AddactionListener (écouteur); ButtonsIn.AddactionListener (écouteur); TORSONTOZERO.ADDACTIONSLISTEN (Écouteur); TORSONTOZERO.ADDACTIONSLISTEN (Écouteur); // (3) écouter boutonzero.addactionListener (écouteur); boutonzero.addactionListener (écouteur); Buttondot.AddactionListener (écouteur); ButtonQual.AddactionListener (écouteur); } private void setFrame () {frame.setLayout (new BorderLayout ()); // Ajouter du contenu dans différentes directions préparées à un cadre grand trame.Add (Panneast, "East"); frame.add (tf, borderlayout.north); frame.add (Panelwest, borderLayout.west); frame.add (PanelCenter, BorderLayout.Center); // Définissez la couleur tf.setbackground (Color.Green); frame.pack (); // élargir le cadre de trame.SetLocation (500 500); // Le cadre du programme est dans le cadre de position de l'écran.SetDefaultCloseOperation (jframe.exit_on_close); // quitte le processus, sans ajouter cette phrase, fermez la page, mais le processus de programme exécute toujours frame.SetVisible (true); // Une interface graphique est invisible par défaut, SetVisible définit l'interface graphique sur Visible}}Les tests de code sont disponibles.
3. Démonstration et effets
1) L'interface en cours d'exécution est la suivante:
Bien sûr, la taille et la position de l'interface graphique peuvent être ajustées et sa position et sa taille peuvent également être initialisées.
2) Test simple quatre opérations: 11 * 12
Il semble que simple ne peut pas être plus simple. Cette calculatrice est écrite pour se concentrer sur la connexion de mise en page avec l'utilisation simple des boutons .
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.