Die Idee ist wie folgt:
Erstellen Sie eine Klasse und die Verwendung erstreckt sich, um die Formklasse JFRame zu erben.
Erstellen Sie ein JFRAME -Objekt und verwenden Sie die setVisible () -Methode der JFRAME -Klasse, um das Formular so einzustellen.
Verwenden Sie im Konstruktor die Super () -Methode, um den Konstruktor der übergeordneten Klasse zu erben.
Verwenden Sie die Methode settitle (), um den Titel des Formulars festzulegen.
Verwenden Sie die SetBounds () -Methode, um die Anzeigeposition und Größe des Formulars festzulegen.
Verwenden Sie die Methode SetDefaultCloseOperation (), um die Aktion der Formularschließtaste für das Beenden festzulegen.
Erstellen Sie ein Grid -Layout -Manager -Objekt mit GridLayout.
Verwenden Sie die SethGap () -Methode der GridLayout -Klasse, um den horizontalen Abstand der Komponenten festzulegen.
Verwenden Sie die Methode SetVGAP () der GridLayout -Klasse, um den vertikalen Abstand der Komponente festzulegen.
JPANEL -Containerobjekt erstellen;
Das Einstellen des Containers durch die Methode SetLayout () der JPanel -Klasse verwendet den Grid -Layout -Manager.
Erstellen Sie ein zweidimensionales Array vom String-Typ und initialisieren Sie seinen Wert auf den Wert, der auf der entsprechenden Taste im Taschenrechner angezeigt wird.
Erstellen Sie ein zweidimensionales Array vom Typ Jbutton undzuordnen Sie den Raum, der dem vorherigen zweidimensionalen Array vom String-Typ entspricht.
Iterieren Sie durch das zweidimensionale Array vom String-Typ, weisen Sie es den entsprechenden Schaltflächen im zweidimensionalen Array vom Jbutton-Typ zu jedem Element zu und fügen Sie jeder Taste Ereignisse hinzu, sodass der entsprechende Wert im Texteingangsfeld angezeigt wird, wenn der Die Schaltfläche wird geklickt.
Die Codekopie lautet wie folgt:
Import Java.awt.BorderLayout;
Import Java.awt.Dimension;
importieren java.awt.gridlayout;
import Java.awt.event.ActionEvent;
import Java.awt.event.ActionListener;
import Javax.swing.jbutton;
importieren javax.swing.jframe;
import Javax.swing.jpanel;
importieren javax.swing.jtextfield;
import Javax.swing.swingConstants;
import Javax.swing.uimanager;
öffentliche Klasse ButtonArrayExample erweitert JFrame {// Erben Sie die Formklasse JFrame
/**
*
*/
Private statische endgültige lange Serialversionuid = 6626440733001287873L;
Private JTextfield Textfield;
public static void main (String args []) {
versuchen {
Uimanager.setlookandfeel ("com.sun.java.swing.plaf.nimbus.nimbuslookandfeel");
} catch (throwable e) {
E. printstacktrace ();
}
ButtonArrayExample Frame = new buttonArAyExample ();
Frame.Setvisible (True);
}
public buttharrayExample () {
Super (); // Erben Sie den Konstruktor der übergeordneten Klasse
BorderLayout borderLayout = (BorderLayout) getContentPane (). GetLayout ();
BorderLayout.SethGap (20);
BorderLayout.SetVGAP (10);
Settitle ("Taste Array Implementierung Taschenrechner -Schnittstelle");
Setbounds (100, 100, 290, 282);
setDefaultCloseOperation (jframe.exit_on_close);
textField = new JTextField ();
textfield.sethorizontalalignment (SwingConstants.Trailing);
textfield.setPreferredSize (neue Dimension (12, 50));
getContentPane (). Add (TextField, BorderLayout.North);
textfield.setColumns (10);
Final GridLayout GridLayout = New GridLayout (4, 0);
gridlayout.sethgap (5);
GridLayout.SetVGAP (5);
JPanel Panel = new Jpanel ();
Panel.SetLayout (GridLayout);
getContentPane (). Add (Panel, BorderLayout.Center);
String [] [] names = {{"1", "2", "3", "+"}, {"4", "5", "6", "-"}, {"7", "," 8 "," 9 "," × "}, {". "," 0 "," = "," ÷ "}};
Jbutton [] [] Buttons = New Jbutton [4] [4];
für (int row = 0; zeile <names.length; row ++) {
für (int col = 0; col <names.length; col ++) {
Schaltflächen [Zeile] [col] = new Jbutton (Namen [Zeile] [col]);
Buttons [row] [col] .addactionListener (new ActionListener () {{
@Override
public void actionperformed (actionEvent e) {
Jbutton Button = (Jbutton) e.getSource ();
String text = textField.getText ();
textField.setText (text + schalttaste.getText ());
}
});
Panel.Add (Tasten [Zeile] [col]);
}
}
}
}