A idéia é a seguinte:
Crie uma classe e o uso se estende para herdar a classe JFrame;
Crie um objeto JFrame e use o método setVisible () da classe JFrame para definir o formulário como visível;
No construtor, use o método super () para herdar o construtor da classe pai;
Use o método Settitle () para definir o título do formulário;
Use o método setBounds () para definir a posição de exibição e o tamanho do formulário;
Use o método setDefaultCloseOperation () para definir a ação do botão Formar o botão para sair;
Crie um objeto de gerenciador de layout de grade usando gridlayout;
Use o método sethgap () da classe GridLayout para definir o espaçamento horizontal dos componentes;
Use o método setvGap () da classe GridLayout para definir o espaçamento vertical do componente;
Crie objeto de contêiner jpanel;
Definir o contêiner através do método setLayout () da classe JPanel usa o gerenciador de layout da grade;
Crie uma matriz bidimensional do tipo string e inicialize seu valor com o valor exibido no botão correspondente na calculadora;
Criar uma matriz bidimensional do tipo JButton e alocar o espaço correspondente à matriz bidimensional anterior do tipo string;
Itera através da matriz bidimensional do tipo String, atribua-a aos botões correspondentes na matriz bidimensional do tipo JButton a cada elemento e adicione eventos a cada botão para que o valor correspondente seja exibido na caixa de entrada de texto quando o O botão é clicado.
A cópia do código é a seguinte:
importar java.awt.borderlayout;
importar java.awt.dimension;
importar java.awt.gridlayout;
importar java.awt.event.actionEvent;
importar java.awt.event.actionListener;
importar javax.swing.jbutton;
importar javax.swing.jframe;
importar javax.swing.jpanel;
importar javax.swing.jtextfield;
importar javax.swing.swingconstants;
importar javax.swing.uimanager;
classe pública ButtonArrayExample estende JFrame {// herdar a classe de formulário jframe
/**
*
*/
private estático final serialversionuid = 6626440733001287873L;
Private JTextfield Textfield;
public static void main (string args []) {
tentar {
Uimanager.setLookAndFeel ("com.sun.java.swing.plaf.nimbus.nimbusLookAndFeel");
} catch (jogável e) {
E.PrintStackTrace ();
}
ButtonArrayExample Frame = new ButtonArrayExample ();
frame.setVisible (true);
}
public buttonArrayExample () {
super (); // herdar o construtor da classe pai
Borderlayout borderlayout = (borderlayout) getContentPane (). GetLayout ();
BorderLayout.SethGap (20);
borderlayout.setvGap (10);
Settitle ("interface da calculadora de matriz de botões");
Setbounds (100, 100, 290, 282);
setDefaultCloseoperation (jframe.exit_on_close);
textfield = new jtextfield ();
textfield.SethorizontalAlignment (swingconstants.trailing);
textfield.setPreferredSize (nova dimensão (12, 50));
getContentPane (). Add (TextField, borderlayout.north);
textfield.setColumns (10);
Final GridLayout GridLayout = New GridLayout (4, 0);
gridlayout.sethgap (5);
gridlayout.setvGap (5);
Painel JPanel = novo JPanel ();
painel.setLayout (GridLayout);
getContentPane (). Add (painel, borderlayout.center);
String [] [] nomes = {{"1", "2", "3", "+"}, {"4", "5", "6", "-"}, {"7", " 8 "," 9 "," × "}, {". "," 0 "," = "," ÷ "}};
JButton [] [] botões = novo jbutton [4] [4];
for (int linha = 0; linha <names.length; linha ++) {
for (int col = 0; col <names.length; col ++) {
botões [linha] [col] = novo jbutton (nomes [linha] [col]);
botões [linha] [col] .addactionListener (new ActionListener () {
@Override
public void ActionPormed (ActionEvent E) {
Botão jbutton = (jbutton) e.getSource ();
Text string = textfield.getText ();
textfield.settext (text + button.getText ());
}
});
painel.add (botões [linha] [Col]);
}
}
}
}