1. Prefácio
1) Esta calculadora é escrita com base na interface gráfica AWT no idioma Java. Na verdade, acho que não importa qual função ela implementa ao escrever essa calculadora. O mercado não não possui essa calculadora, mas usa a operação e o uso de controles simples no AWT. Ao se conectar e familiarizar-se com o básico do AWT, estabelecendo a base para um aprendizado profundo. Esta calculadora também tem uma função muito simples e é fácil de usar. No entanto, se você estiver interessado, poderá continuar adicionando funções e melhorando as operações.
2) Plataforma de uso: principalmente usando o myeclipse2014
3) Principais pontos de conhecimento: Java Basics; awt+swing
2. Implementação da função e exibição de código
1) Principalmente, é o exercício do layout, o uso de caixas de texto da prancha de arte e o registro e o monitoramento dos eventos dos botões de controle. Como a função também é muito simples, o código é abreviado na mesma classe. As quatro operações básicas são realizadas.
2) O código é o seguinte:
importar java.awt.borderlayout; importar java.awt.gridlayout; importar java.awt.textfield; importar java.awt.event.actionEvent; importar java.awt.event.actionListener; importar javax.swing.jbutton; importar javax.swing.jframe; importar javax.swing.jpanel; importar java.awt.color; classe pública jisuanji {private jframe quadro; // Declare o painel de layout relevante Private JPanel Panelwest; Private JPanel PanelCenter; painéis privados jpanel; Private TextField TF; Private JButton ButtonZero; // Declare o controle de botões Private JButton Buttondot; Buttonqual de JButton privado; Private JButton Buttonplus, ButtonMinus, ButtonMultiple, ButtOndOndEvision, Butronsin, ButtOntoZero; Private JButton ButtonOne, Buttontwo, ButtonThree, ButtonFour, ButtonFive, Butronsix, ButtonSeven, Buttonight, ButtonNine; ouvinte de botão privado; // Declare o evento de audição public static void main (string args []) {new jisuanji (); } public jisuanji () {initView (); // instanciar o objeto relacionado setCenter (); // Layout Adicione controles e controles relacionados para lidar com o setWest (); setEast (); addListener (); // Definir SetFrame de escuta (); // Defina o layout e o processamento de exibição para o quadro} classe ButtonListener implementa o ActionListener {int biiaozhi = 0; // Inicialize a variável relacionada sinalizador duplo1 = 0, sinalizador2 = 0, sinalizador3 = 0; //@Substituir public void actionPerformed (ActionEvent e) {// (1) através do e.getSource (), obtenha a fonte do botão do evento de clique e faça o processamento correspondente se (e.getSource () == blogutndot) {tf.settext ("0."); } if (e.getSource () == ButtOntoZero) {tf.settext (""); } if (e.getSource () == buttonZero) {tf.settext (tf.getText ()+"0"); flag1 = duplo.parseDouble (tf.getText ()); } else if (e.getSource () == buttonOne) {tf.settext (tf.getText ()+"1"); // A caixa de texto exibe 1, 2, 3. flag1 = duplo.parseDouble (tf.getText ()); } else if (e.getSource () == buttontwo) {tf.settext (tf.getText ()+"2"); flag1 = duplo.parseDouble (tf.getText ()); } else if (e.getSource () == ButtonThree) {tf.settext (tf.getText ()+"3"); flag1 = duplo.parseDouble (tf.getText ()); } else if (e.getSource () == buttonfour) {tf.settext (tf.getText ()+"4"); flag1 = duplo.parseDouble (tf.getText ()); } else if (e.getSource () == buttonfive) {tf.settext (tf.getText ()+"5"); flag1 = duplo.parseDouble (tf.getText ()); } else if (e.getSource () == button) {tf.settext (tf.getText ()+"6"); flag1 = duplo.parseDouble (tf.getText ()); } else if (e.getSource () == button) {tf.settext (tf.getText ()+"6"); flag1 = duplo.parseDouble (tf.getText ()); } else if (e.getSource () == buttonSeven) {tf.settext (tf.getText ()+"7"); flag1 = duplo.parseDouble (tf.getText ()); } else if (e.getSource () == bottoneight) {tf.settext (tf.getText ()+"8"); flag1 = duplo.parseDouble (tf.getText ()); } else if (e.getSource () == buttonnine) {tf.settext (tf.getText ()+"9"); flag1 = duplo.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 () == button) {flag3 = Math.sin (Flag1); tf.settext (flag3+""); } if (e.getSource () == bottonequal) {if (biaozhi == 0) {flag3 = flag2+flag1; } if (biaozhi == 1) {flag3 = flag2-flag1; } if (biaozhi == 2) {flag3 = flag2*flag1; } if (biaozhi == 3) {flag3 = flag2/flag1; } tf.settext (flag3+""); }}} private void initView () {/*** Crie quadro, objeto de pequeno contêiner, objeto de botão*/tf = new TextField (30); // Inicialize o quadro da largura da interface = novo JFrame ("Computador simples"); painelCenter = new JPanel (); painwest = new jpanel (); painelast = new jpanel (); ouvinte = new ButtonListener (); // instanciar o objeto de escuta} private void setCenter () {// (1) inicialize o valor de exibição do controle buttonOne = new jbutton ("1"); buttontwo = new jbutton ("2"); ButtonThree = New JButton ("3"); ButtonFour = New JButton ("4"); ButtonFive = novo JButton ("5"); botão = novo jbutton ("6"); ButtonSeven = novo JButton ("7"); ButtonNight = New JButton ("8"); ButtonNine = New JButton ("9"); // (2) Defina o estilo de layout panelcenter.setLayout (New Gridlayout (3,3)); // layout de acordo com o conteúdo // (3) Adicione botões de controle PanelCenter.add (ButtonOne); PanelCenter.add (Buttontwo); PanelCenter.add (ButtonThree); PanelCenter.add (ButtonFour); PanelCenter.add (ButtonFive); PanelCenter.Add (ButtonSix); PanelCenter.add (ButtonSeven); PanelCenter.add (ButtonNight); PanelCenter.add (ButtonNine); } private void setEast () {// (1) Defina o símbolo de exibição de controle Buttonplus = new JButton ("+"); Buttonminus = novo JButton ("-"); ButtonMultiPle = new JButton ("*"); ButtOndEvision = new JButton ("/"); botão = New Jbutton ("Sin"); ButtOntoZero = New JButton ("Clear"); // (2) Defina o layout Style Panelasst.setLayout (New GridLayout (3,2)); // (3) Adicione o painel de controle de botão correspondente.Add (Buttonplus); painelasst.add (Buttonminus); painEasst.add (ButtonMultiple); painEasst.add (buttOndEvision); painEasst.add (buttOndEvision); painEasst.add (botão); painelast.add (ButtOntoZero); } private void setWest () {// (1) Inicialize o valor do Valor da exibição de controle ButtonZero = new JButton ("0"); ButtONDOT = novo JButton ("."); Buttonqual = novo JButton ("="); // (2) Defina o layout para esses três botões PanelWest.setLayout (New GridLayout (3,1)); // (3) Adicione o controle do botão no layout esquerdo, adicione três botões no painel de layoutwest.add (ButtonZero); painwest.add (buttondot); painwest.add (botão); } private void addListener () {// (1) Adicione botões de escuta para os botões correspondentes a 1-9.AddactionListener (ouvinte); buttontwo.addactionListener (ouvinte); ButtonThree.addactionListener (ouvinte); ButtonFour.addactionListener (ouvinte); buttonfive.addactionListener (ouvinte); botão de button.addactionListener (ouvinte); ButtonSeven.addactionListener (ouvinte); buttonNight.addactionListener (ouvinte); buttonNight.addactionListener (ouvinte); ButtonNine.addactionListener (ouvinte); // (2) Adicione Buttonplus.addactionListener (ouvinte); ButtonMinus.addactionListener (ouvinte); ButtonMultiPle.addactionListener (ouvinte); buttOndEvision.addactionListener (ouvinte); buttnsin.addactionListener (ouvinte); buttOntoZero.addactionListener (ouvinte); buttOntoZero.addactionListener (ouvinte); // (3) Ouça ButtonZero.addactionListener (ouvinte); ButtonZero.addactionListener (ouvinte); buttondot.addactionListener (ouvinte); Buttonqual.addactionListener (ouvinte); } private void setFrame () {frame.setLayout (new BorderLayout ()); // Adicione o conteúdo de diferentes direções preparadas para a estrutura grande. frame.add (tf, borderlayout.north); frame.add (painwest, borderlayout.west); frame.add (PanelCenter, borderlayout.center); // defina a cor tf.setbackground (color.green); frame.pack (); // expandir o quadro Frame.setLocation (500.500); // O quadro do programa está no quadro de posição da tela.setDefaultCloseoperation (jframe.exit_on_close); // Saia do processo, sem adicionar esta frase, feche a página, mas o processo do programa ainda está em execução Frame.setVisible (true); // Uma interface gráfica é invisível por padrão, setvisible define a interface gráfica para visível}}O teste de código está disponível.
3. Demonstração e efeitos
1) A interface em execução é a seguinte:
Obviamente, o tamanho e a posição da interface gráfica podem ser ajustados e sua posição e tamanho também podem ser inicializados.
2) Teste simples quatro operações: 11*12
Parece que simples não pode ser mais simples. Esta calculadora está gravada para se concentrar na conexão do layout com o uso simples de botões .
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.