import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; import javax.swing.event.*; import java.util.*; import javax.swing.JApplet.*; import java.applet.*; public class Calculadora extends JApplet { boolean novo = true, ComSinal = false; JLabel display = new JLabel ("0"); JLabel label0,label1,label2,label3,label4,label5,label6,label7,label8,label9; Stack pilha = new Stack(); JLabel titulo = new JLabel (" CALCULADORA POLONESA - POR FÁBIO MATOS"); Container base = getContentPane(); double valor1, valor2; int QtLista = 1,TotLabel=10,i,k; public void init() { base.setLayout(new BorderLayout()); base.setBackground(Color.blue); JPanel PainelBotoes = new JPanel(); JPanel PainelEdit = new JPanel(); JPanel PainelOp = new JPanel(); JPanel PainelLista = new JPanel(); //Definindo Borda PainelBotoes.setBorder(BorderFactory.createMatteBorder(1,1,0,1,Color.blue)); PainelOp.setBorder(BorderFactory.createMatteBorder(1,1,1,1,Color.blue)); PainelEdit.setBorder(BorderFactory.createMatteBorder(1,0,0,1,Color.blue)); titulo.setBorder(BorderFactory.createMatteBorder(2,2,2,2,Color.blue)); PainelLista.setBorder(BorderFactory.createMatteBorder(1,1,1,1,Color.blue)); display.disable(); display.setForeground(Color.white); titulo.setBackground(Color.blue); titulo.setForeground(Color.white); //Escolhendo os Layouts PainelEdit.setLayout(new BorderLayout(20,20)); PainelOp.setLayout(new FlowLayout()); PainelBotoes.setLayout (new GridLayout(4,4)); PainelLista.setLayout (new GridLayout(TotLabel,1)); PainelLista.setBackground(Color.white); PainelOp.setBackground(Color.blue); //Define Lista de Exibicao label0 = new JLabel(" Operações Realizadas "); label0.setForeground(Color.black); PainelLista.add(label0); label1 = new JLabel(" "); label1.setForeground(Color.black); PainelLista.add(label1); label2 = new JLabel(" "); label2.setForeground(Color.black); PainelLista.add(label2); label3 = new JLabel(" "); label3.setForeground(Color.black); PainelLista.add(label3); label4 = new JLabel(" "); label4.setForeground(Color.black); PainelLista.add(label4); label5 = new JLabel(""); label5.setForeground(Color.black); PainelLista.add(label5); label6 = new JLabel(" "); label6.setForeground(Color.black); PainelLista.add(label6); label7 = new JLabel(" "); label7.setForeground(Color.black); PainelLista.add(label7); label8 = new JLabel(" "); label8.setForeground(Color.black); PainelLista.add(label8); label9 = new JLabel(" "); label9.setForeground(Color.black); PainelLista.add(label9); PainelEdit.add(display,BorderLayout.NORTH); PainelEdit.add(PainelLista,BorderLayout.CENTER); //Botoes JButton limpa,entra,sinal,zero,um,dois,tres,quatro,cinco,seis,sete; JButton oito, nove, mais, menos, igual, vezes, dividir,ponto; limpa=new JButton("Limpa"); PainelOp.add(limpa); entra= new JButton("Entra"); PainelOp.add(entra); sinal=new JButton("+/-"); PainelOp.add(sinal); sete = new JButton("7"); PainelBotoes.add(sete); oito = new JButton("8"); PainelBotoes.add(oito); nove = new JButton("9"); PainelBotoes.add(nove); vezes = new JButton("X"); PainelBotoes.add(vezes); quatro = new JButton("4"); PainelBotoes.add(quatro); cinco = new JButton("5"); PainelBotoes.add(cinco); seis = new JButton("6"); PainelBotoes.add(seis); dividir = new JButton("/"); PainelBotoes.add(dividir); um = new JButton("1"); PainelBotoes.add(um); dois = new JButton("2"); PainelBotoes.add(dois); tres = new JButton("3"); PainelBotoes.add(tres); menos = new JButton("-"); PainelBotoes.add(menos); zero = new JButton("0"); PainelBotoes.add(zero); ponto = new JButton("."); PainelBotoes.add(ponto); igual = new JButton("="); PainelBotoes.add(igual); mais = new JButton("+"); PainelBotoes.add(mais); base.add(titulo,BorderLayout.NORTH); base.add(PainelOp,BorderLayout.SOUTH); base.add(PainelEdit,BorderLayout.EAST); base.add(PainelBotoes,BorderLayout.CENTER); //Eventos limpa.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ev){ novo=true;ComSinal=false; display.setText("0"); QtLista=1; if (pilha.isEmpty() == false) { pilha.removeAllElements(); } label1.setText(" "); label2.setText(" "); label3.setText(" "); label4.setText(" "); label5.setText(" "); label6.setText(" "); label7.setText(" "); label8.setText(" "); label9.setText(" "); }}); entra.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ev){ pilha.push(new Double(display.getText())); novo = true;ComSinal=false; switch (QtLista) { case 1: label1.setText(display.getText());break; case 2: label2.setText(display.getText());break; case 3: label3.setText(display.getText());break; case 4: label4.setText(display.getText());break; case 5: label5.setText(display.getText());break; case 6: label6.setText(display.getText());break; case 7: label7.setText(display.getText());break; case 8: label8.setText(display.getText());break; case 9: label9.setText(display.getText());break; default: QtLista=0;break; } QtLista++;display.setText("0"); }}); zero.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ev) { JButton temp = (JButton)ev.getSource(); if (novo) { display.setText(temp.getText()); novo = false; } else display.setText(display.getText() +temp.getText()); }}); um.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ev) { JButton temp = (JButton)ev.getSource(); if (novo) { display.setText(temp.getText()); novo = false; } else display.setText(display.getText() +temp.getText()); }}); dois.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ev) { JButton temp = (JButton)ev.getSource(); if (novo) { display.setText(temp.getText()); novo = false; } else display.setText(display.getText() +temp.getText()); }}); tres.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ev) { JButton temp = (JButton)ev.getSource(); if (novo) { display.setText(temp.getText()); novo = false; } else display.setText(display.getText() +temp.getText()); }}); quatro.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ev) { JButton temp = (JButton)ev.getSource(); if (novo) { display.setText(temp.getText()); novo = false; } else display.setText(display.getText() +temp.getText()); }}); cinco.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ev) { JButton temp = (JButton)ev.getSource(); if (novo) { display.setText(temp.getText()); novo = false; } else display.setText(display.getText() +temp.getText()); }}); seis.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ev) { JButton temp = (JButton)ev.getSource(); if (novo) { display.setText(temp.getText()); novo = false; } else display.setText(display.getText() +temp.getText()); }}); sete.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ev) { JButton temp = (JButton)ev.getSource(); if (novo) { display.setText(temp.getText()); novo = false; } else display.setText(display.getText() +temp.getText()); }}); oito.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ev) { JButton temp = (JButton)ev.getSource(); if (novo) { display.setText(temp.getText()); novo = false; } else display.setText(display.getText() +temp.getText()); }}); nove.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ev) { JButton temp = (JButton)ev.getSource(); if (novo) { display.setText(temp.getText()); novo = false; } else display.setText(display.getText() +temp.getText()); }}); ponto.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ev) { JButton temp = (JButton)ev.getSource(); if (novo) { display.setText(temp.getText()); novo = false; } else display.setText(display.getText() +temp.getText()); }}); sinal.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ev) { JButton temp = (JButton)ev.getSource(); String s = display.getText(); if (novo) { display.setText("-"); ComSinal = true; novo = false; } else { if (ComSinal) { display.setText(""); for (i=1;i