La idea es la siguiente:
Crear una clase y usar extiende para heredar la clase de formulario jframe;
Cree un objeto JFRame y use el método setVisible () de la clase jframe para establecer el formulario para que sea visible;
En el constructor, use el método super () para heredar el constructor de la clase principal;
Use el método settitle () para establecer el título del formulario;
Use el método setBounds () para establecer la posición de visualización y el tamaño del formulario;
Use el método setDefaultCloseOperation () para establecer la acción del botón Cerrar de formulario para salir;
Cree un objeto Manager de diseño de cuadrícula usando GridLayout;
Use el método sethgap () de la clase GridLayout para establecer el espacio horizontal de los componentes;
Use el método setVGap () de la clase GridLayout para establecer el espacio vertical del componente;
Crear objeto de contenedor jpanel;
Configurar el contenedor a través del método setLayout () de la clase jpanel usa el administrador de diseño de la cuadrícula;
Cree una matriz bidimensional de tipo cadena e inicialice su valor al valor que se muestra en el botón correspondiente en la calculadora;
Cree una matriz bidimensional tipo JButton y asigne el espacio correspondiente a la matriz bidimensional de tipo cadena anterior;
Iterar a través de la matriz bidimensional de tipo cadena, asignarlo a los botones correspondientes en la matriz bidimensional de tipo JButton a cada elemento, y agregue eventos a cada botón para que el valor correspondiente se muestre en el cuadro de entrada de texto cuando el texto de texto cuando Se hace clic en el botón.
La copia del código es la siguiente:
import java.awt.borderlayut;
import java.awt.dimension;
import java.awt.gridLayout;
import java.awt.event.actionEvent;
import java.awt.event.actionListener;
import javax.swing.jbutton;
import javax.swing.jframe;
import javax.swing.jpanel;
import javax.swing.jTextfield;
import javax.swing.swingconstants;
import javax.swing.uimanager;
clase pública ButtonArrayExample extiende jframe {// heredar la clase de formulario JFrame
/**
*
*/
Private static final Long SerialVersionUid = 6626440733001287873l;
Private JTextfield Textfield;
public static void main (string args []) {
intentar {
UiManager.setlookandFeel ("com.sun.java.swing.plaf.nimbus.nimbuslookandfeel");
} Catch (lanzable e) {
E.PrintStackTrace ();
}
ButtonArrayExample Frame = new ButtonArrayExample ();
Frame.setVisible (verdadero);
}
public buttonArrayExample () {
super ();
BorderLayout borderLayout = (BorderLayout) GetContentPane (). GetLayout ();
borderLayout.sethgap (20);
borderLayout.setVGap (10);
settitle ("Interfaz de calculadora de implementación de la matriz");
SetBounds (100, 100, 290, 282);
setDefaultCloseOperation (jframe.exit_on_close);
TextField = new JTextField ();
textField.SethorizontalAlignment (SwingConstants.Railing);
textField.SetPreferedSize (nueva dimensión (12, 50));
getContentPane (). ADD (TextField, BorderLayout.north);
TextField.SetColumns (10);
Final GridLayout GridLayout = New GridLayout (4, 0);
GridLayout.sethgap (5);
GridLayout.SetVGap (5);
Panel jpanel = nuevo JPanel ();
panel.setLayout (GridLayout);
getContentPane (). add (panel, borderLayout.center);
String [] [] nombres = {{"1", "2", "3", "+"}, {"4", "5", "6", "-"}, {"7", " 8 "," 9 "," × "}, {". "," 0 "," = "," ÷ "}};
JButton [] [] botones = nuevo JButton [4] [4];
for (int row = 0; fila <names.length; row ++) {
para (int col = 0; col <names.length; col ++) {
Botones [fila] [col] = new JButton (nombres [fila] [col]);
Botones [fila] [col] .addactionListener (new ActionListener () {
@Anular
public void Actionperformed (ActionEvent E) {
JButton Button = (JButton) E.GetSource ();
String text = textfield.gettext ();
textField.settext (text + button.gettext ());
}
});
panel.add (botones [fila] [col]);
}
}
}
}