Como adicionar em botões

11 respostas
F

Olá, estou tentando fazer uma operações basicas, porem a forma que encontrei foi usando desta forma abaixo, agora vem a duvida, como que faço num ambiente grafico, tipo botoes, em vez deu escrever "+" eu clicar no botão mais e somar, tem como me explicar pelo menos um exemplo pra eu ter uma noção, orbigado

Scanner teclado = new Scanner(System.in);

		PrintStream saida = new PrintStream(cliente.getOutputStream());

		Scanner s = new Scanner(cliente.getInputStream());

		System.out.println("Informe o primeiro numero");
		saida.println(teclado.nextLine());

		System.out.println("Informe a operacao");
		saida.println(teclado.nextLine());

		System.out.println("Informe o segundo numero");
		saida.println(teclado.nextLine());

		System.out.println("Resultado da operação:");
		System.out.println(s.nextLine());

11 Respostas

S

vc esta usando jframe ou outra coisa?

Eder_Peixoto

Faça uma pesquisa sobre Swing.

discorpio

Boa noite a todos.

Esta é uma classe que eu fiz aqui na mão e na hora de como fazer uma calculadora:

import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Calculadora extends JFrame {

    private JButton[] buttons = new JButton[16];
    private JPanel panelbuttons;
    private JTextField calc;
    private JTextArea result;

    public static void main(String[] args) {
        new Calculadora();
    }

    public Calculadora(){

        setLayout(new BorderLayout());

        calc = new JTextField();
        add(calc, BorderLayout.NORTH);

        result = new JTextArea(2,2);
        add(result, BorderLayout.CENTER);

        for (Integer i=0; i<10; i++){
            buttons[i] = new JButton(i.toString());
        }
        buttons[10] = new JButton("+");
        buttons[11] = new JButton("-");
        buttons[12] = new JButton("X");
        buttons[13] = new JButton(":");
        buttons[14] = new JButton(",");
        buttons[15] = new JButton(".");

        panelbuttons = new JPanel(new GridLayout(4,4));
        for (int i=1; i<=3; i++) panelbuttons.add(buttons[i]);
        panelbuttons.add(buttons[10]);
        for (int i=4; i<=6; i++) panelbuttons.add(buttons[i]);
        panelbuttons.add(buttons[11]);
        for (int i=7; i<=9; i++) panelbuttons.add(buttons[i]);
        panelbuttons.add(buttons[12]);
        panelbuttons.add(buttons[14]);
        panelbuttons.add(buttons[0]);
        panelbuttons.add(buttons[15]);
        panelbuttons.add(buttons[13]);

        add(panelbuttons, BorderLayout.SOUTH);

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        pack();
        setBounds(300,300,300,300);
        setVisible(true);
    }

}

Execute o código e veja somente a sua aparência, quanto ao código de implementação dos cálculos deixo por sua conta para que voce também possa queimar os neurônios um poquinho, afinal de contas, é para o seu próprio bem.

F

tipo eu fiz uma calculadora basica mesmo com visual botoes e tal, tudo certo, ate´ae tranquilo, o problema mesmo é eu passar este codigo que postei pra usar botao, isso que esta sendo a duvida,

vou ver o codigo do discorpio pra ver se ajuda

Edit: discorpio esta parte eu fiz, tipo eu tenho um projeto da calculadora normal, com botao e tudo mais fucnionando e tenho outro projeto so que desta forma q passei, usando nextLine, o problema é como modificar este codigo q passei pra usar como botao

discorpio

fmda:
tipo eu fiz uma calculadora basica mesmo com visual botoes e tal, tudo certo, ate´ae tranquilo, o problema mesmo é eu passar este codigo que postei pra usar botao, isso que esta sendo a duvida,

vou ver o codigo do discorpio pra ver se ajuda

Edit: discorpio esta parte eu fiz, tipo eu tenho um projeto da calculadora normal, com botao e tudo mais fucnionando e tenho outro projeto so que desta forma q passei, usando nextLine, o problema é como modificar este codigo q passei pra usar como botao

Olá.

Amigo, o código que voce passou é um código de java básico que funciona em ambiente DOS, onde JButtons não funcionam, pois são interface gráfica da biblioteca Swing e para funcionar em ambiente de interface gráfica, somente dentro de um componente Frame, JFrame ou JDialog para visualizá-los.

F

nao tipo nao intendeu, eu precisso transformar isso daqui em baixo pra ambiente graficos, usando botao, em vez deu escrever "+" eu clciar no botao "+", fazer o botao e simples eu nao sei é qunado eu clciar ele reconhecer e por ali dentro o mais, saco?

# Scanner teclado = new Scanner(System.in);  
#   
#         PrintStream saida = new PrintStream(cliente.getOutputStream());  
#   
#         Scanner s = new Scanner(cliente.getInputStream());  
#   
#         System.out.println("Informe o primeiro numero");  
#         saida.println(teclado.nextLine());  
#   
#         System.out.println("Informe a operacao");  
#         saida.println(teclado.nextLine());  
#   
#         System.out.println("Informe o segundo numero");  
#         saida.println(teclado.nextLine());  
#   
#         System.out.println("Resultado da operação:");  
#         System.out.println(s.nextLine());
F

up

f4binho
package vision;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class Calculadora extends JFrame {

	public Calculadora() {
		number = "";
		num1 = 0.0D;
		num2 = 0.0D;
		answer = 0.0D;
		memo = 0.0D;
		optr = ' ';
		isNewNum = true;
		isDecimal = false;
		isOptr = false;
		isSetNum1 = true;
		isSetNum2 = true;
		initComponents();
		setLocationRelativeTo(null);
	}

	public void number() {
		number = txtScreen.getText();
	}

	public void printNum(String numStr) {
		number();
		if (number.length() < 33) {
			if (isNewNum || !isDecimal && number.equals("0."))
				txtScreen.setText((new StringBuilder(String.valueOf(numStr)))
						.append(".").toString());
			else if (isDecimal)
				txtScreen.setText((new StringBuilder(String.valueOf(number)))
						.append(numStr).toString());
			else
				txtScreen.setText((new StringBuilder(String.valueOf(slice(
						number, 0, number.length() - 1)))).append(numStr)
						.append(".").toString());
			isNewNum = false;
			isOptr = false;
		}
	}

	public String slice(String num, int start, int len) {
		String newNum = "";
		for (int i = start; i < start + len; i++)
			newNum = (new StringBuilder(String.valueOf(newNum))).append(
					String.valueOf(num.charAt(i))).toString();

		return newNum;
	}

	public void setOptr(char optr) {
		this.optr = optr;
	}

	public void setNum1() {
		try {
			number();
			double num1 = Double.valueOf(number).doubleValue();
			if (isSetNum1) {
				this.num1 = num1;
				isSetNum1 = false;
				isSetNum2 = true;
			} else {
				switch (optr) {
				case 43: // '+'
					this.num1 += num1;
					break;

				case 45: // '-'
					this.num1 -= num1;
					break;

				case 42: // '*'
					this.num1 *= num1;
					break;

				case 47: // '/'
					this.num1 /= num1;
					break;
				}
			}
			isNewNum = true;
			isDecimal = false;
			isOptr = true;
		} catch (Exception ex) {
			errorMngr();
		}
	}

	public void setAnswer() {
		try {
			number();
			if (isSetNum2) {
				num2 = Double.valueOf(number).doubleValue();
				isSetNum1 = true;
				isSetNum2 = false;
			} else {
				num1 = Double.valueOf(number).doubleValue();
			}
			switch (optr) {
			case 43: // '+'
				answer = num1 + num2;
				break;

			case 45: // '-'
				answer = num1 - num2;
				break;

			case 42: // '*'
				answer = num1 * num2;
				break;

			case 47: // '/'
				answer = num1 / num2;
				break;
			}
			isNewNum = true;
			isDecimal = false;
			isOptr = false;
		} catch (Exception ex) {
			errorMngr();
		}
	}

	public void printToScreen(String numStr) {
		if (slice(numStr, numStr.length() - 2, 2).equals(".0"))
			numStr = slice(numStr, 0, numStr.length() - 1);
		txtScreen.setText(numStr);
	}

	public void errorMngr() {
		if (lblMemo.getText().equals("M"))
			lblMemo.setText("E/M");
		else
			lblMemo.setText("E");
		lblMemo.setForeground(Color.RED);
		btnAdd.setEnabled(false);
		btnBackspace.setEnabled(false);
		btnCE.setEnabled(false);
		btnDecimal.setEnabled(false);
		btnDiv.setEnabled(false);
		btnEquals.setEnabled(false);
		btnMC.setEnabled(false);
		btnMPlus.setEnabled(false);
		btnMR.setEnabled(false);
		btnMS.setEnabled(false);
		btnMul.setEnabled(false);
		btnNum0.setEnabled(false);
		btnNum1.setEnabled(false);
		btnNum2.setEnabled(false);
		btnNum3.setEnabled(false);
		btnNum4.setEnabled(false);
		btnNum5.setEnabled(false);
		btnNum6.setEnabled(false);
		btnNum7.setEnabled(false);
		btnNum8.setEnabled(false);
		btnNum9.setEnabled(false);
		btnOneDivX.setEnabled(false);
		btnPercent.setEnabled(false);
		btnPosNeg.setEnabled(false);
		btnSqrt.setEnabled(false);
		btnSub.setEnabled(false);
	}

	private void initComponents() {
		txtScreen = new JTextField();
		lblMemo = new JLabel();
		btnMC = new JButton();
		btnMR = new JButton();
		btnMS = new JButton();
		btnMPlus = new JButton();
		btnBackspace = new JButton();
		btnCE = new JButton();
		btnC = new JButton();
		btnNum8 = new JButton();
		btnNum9 = new JButton();
		btnDiv = new JButton();
		btnSqrt = new JButton();
		btnNum7 = new JButton();
		btnNum4 = new JButton();
		btnNum5 = new JButton();
		btnNum6 = new JButton();
		btnMul = new JButton();
		btnPercent = new JButton();
		btnOneDivX = new JButton();
		btnSub = new JButton();
		btnNum3 = new JButton();
		btnNum2 = new JButton();
		btnNum1 = new JButton();
		btnNum0 = new JButton();
		btnPosNeg = new JButton();
		btnDecimal = new JButton();
		btnAdd = new JButton();
		btnEquals = new JButton();
		setTitle("Calculadora");
		setBounds(new Rectangle(100, 100, 0, 0));
		setResizable(false);
		setIconImage(Toolkit.getDefaultToolkit().getImage("icons/calc3.jpeg"));
		txtScreen.setEditable(false);
		txtScreen.setFont(new Font("Tahoma", 0, 12));
		txtScreen.setHorizontalAlignment(4);
		txtScreen.setText("0.");
		lblMemo.setForeground(new Color(0, 0, 204));
		lblMemo.setHorizontalAlignment(0);
		lblMemo.setBorder(BorderFactory.createBevelBorder(1));
		btnMC.setForeground(new Color(255, 0, 0));
		btnMC.setText("MC");
		btnMC.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnMC.setFocusPainted(false);
		btnMC.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnMCActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnMR.setForeground(new Color(255, 0, 0));
		btnMR.setText("MR");
		btnMR.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnMR.setFocusPainted(false);
		btnMR.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnMRActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnMS.setForeground(new Color(255, 0, 0));
		btnMS.setText("M-");
		btnMS.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnMS.setFocusPainted(false);
		btnMS.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnMSActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnMPlus.setForeground(new Color(255, 0, 0));
		btnMPlus.setText("M+");
		btnMPlus.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnMPlus.setFocusPainted(false);
		btnMPlus.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnMPlusActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnBackspace.setForeground(new Color(255, 0, 0));
		btnBackspace.setText("Backspace");
		btnBackspace.setBorder(BorderFactory
				.createLineBorder(new Color(0, 0, 0)));
		btnBackspace.setFocusPainted(false);
		btnBackspace.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnBackspaceActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnCE.setForeground(new Color(255, 0, 0));
		btnCE.setText("CE");
		btnCE.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnCE.setFocusPainted(false);
		btnCE.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnCEActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnC.setForeground(new Color(255, 0, 0));
		btnC.setText("C");
		btnC.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnC.setFocusPainted(false);
		btnC.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnCActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnNum8.setForeground(new Color(0, 0, 255));
		btnNum8.setText("8");
		btnNum8.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnNum8.setFocusPainted(false);
		btnNum8.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnNum8ActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnNum9.setForeground(new Color(0, 0, 255));
		btnNum9.setText("9");
		btnNum9.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnNum9.setFocusPainted(false);
		btnNum9.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnNum9ActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnDiv.setFont(new Font("Tahoma", 0, 10));
		btnDiv.setForeground(new Color(255, 0, 0));
		btnDiv.setText("/");
		btnDiv.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnDiv.setFocusPainted(false);
		btnDiv.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnDivActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnSqrt.setForeground(new Color(0, 0, 255));
		btnSqrt.setText("Sqrt");
		btnSqrt.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnSqrt.setFocusPainted(false);
		btnSqrt.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnSqrtActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnNum7.setForeground(new Color(0, 0, 255));
		btnNum7.setText("7");
		btnNum7.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnNum7.setFocusPainted(false);
		btnNum7.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnNum7ActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnNum4.setForeground(new Color(0, 0, 255));
		btnNum4.setText("4");
		btnNum4.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnNum4.setFocusPainted(false);
		btnNum4.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnNum4ActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnNum5.setForeground(new Color(0, 0, 255));
		btnNum5.setText("5");
		btnNum5.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnNum5.setFocusPainted(false);
		btnNum5.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnNum5ActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnNum6.setForeground(new Color(0, 0, 255));
		btnNum6.setText("6");
		btnNum6.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnNum6.setFocusPainted(false);
		btnNum6.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnNum6ActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnMul.setForeground(new Color(255, 0, 0));
		btnMul.setText("*");
		btnMul.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnMul.setFocusPainted(false);
		btnMul.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnMulActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnPercent.setForeground(new Color(0, 0, 255));
		btnPercent.setText("%");
		btnPercent
				.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnPercent.setFocusPainted(false);
		btnPercent.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnPercentActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnOneDivX.setForeground(new Color(0, 0, 255));
		btnOneDivX.setText("1/x");
		btnOneDivX
				.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnOneDivX.setFocusPainted(false);
		btnOneDivX.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnOneDivXActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnSub.setForeground(new Color(255, 0, 0));
		btnSub.setText("-");
		btnSub.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnSub.setFocusPainted(false);
		btnSub.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnSubActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnNum3.setForeground(new Color(0, 0, 255));
		btnNum3.setText("3");
		btnNum3.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnNum3.setFocusPainted(false);
		btnNum3.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnNum3ActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnNum2.setForeground(new Color(0, 0, 255));
		btnNum2.setText("2");
		btnNum2.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnNum2.setFocusPainted(false);
		btnNum2.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnNum2ActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnNum1.setForeground(new Color(0, 0, 255));
		btnNum1.setText("1");
		btnNum1.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnNum1.setFocusPainted(false);
		btnNum1.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnNum1ActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnNum0.setForeground(new Color(0, 0, 255));
		btnNum0.setText("0");
		btnNum0.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnNum0.setFocusPainted(false);
		btnNum0.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnNum0ActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnPosNeg.setFont(new Font("Tahoma", 0, 10));
		btnPosNeg.setForeground(new Color(0, 0, 255));
		btnPosNeg.setText("+/-");
		btnPosNeg.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnPosNeg.setFocusPainted(false);
		btnPosNeg.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnPosNegActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnDecimal.setFont(new Font("Tahoma", 1, 12));
		btnDecimal.setForeground(new Color(0, 0, 255));
		btnDecimal.setText(".");
		btnDecimal
				.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnDecimal.setFocusPainted(false);
		btnDecimal.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnDecimalActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnAdd.setForeground(new Color(255, 0, 0));
		btnAdd.setText("+");
		btnAdd.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnAdd.setFocusPainted(false);
		btnAdd.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnAddActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		btnEquals.setForeground(new Color(255, 0, 0));
		btnEquals.setText("=");
		btnEquals.setBorder(BorderFactory.createLineBorder(new Color(0, 0, 0)));
		btnEquals.setFocusPainted(false);
		btnEquals.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent evt) {
				btnEqualsActionPerformed(evt);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		});
		GroupLayout layout = new GroupLayout(getContentPane());
		getContentPane().setLayout(layout);
		layout
				.setHorizontalGroup(layout
						.createParallelGroup(
								javax.swing.GroupLayout.Alignment.LEADING)
						.addGroup(
								layout
										.createSequentialGroup()
										.addContainerGap()
										.addGroup(
												layout
														.createParallelGroup(
																javax.swing.GroupLayout.Alignment.LEADING)
														.addGroup(
																layout
																		.createSequentialGroup()
																		.addComponent(
																				btnMC,
																				-2,
																				36,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
																		.addComponent(
																				btnNum7,
																				-2,
																				36,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.RELATED,
																				7,
																				32767)
																		.addComponent(
																				btnNum8,
																				-2,
																				36,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																		.addComponent(
																				btnNum9,
																				-2,
																				36,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																		.addComponent(
																				btnDiv,
																				-2,
																				36,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																		.addComponent(
																				btnSqrt,
																				-2,
																				36,
																				-2))
														.addGroup(
																layout
																		.createSequentialGroup()
																		.addComponent(
																				btnMR,
																				-2,
																				36,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
																		.addComponent(
																				btnNum4,
																				-2,
																				36,
																				-2)
																		.addGap(
																				7,
																				7,
																				7)
																		.addComponent(
																				btnNum5,
																				-2,
																				36,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																		.addComponent(
																				btnNum6,
																				-2,
																				36,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																		.addComponent(
																				btnMul,
																				-2,
																				36,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																		.addComponent(
																				btnPercent,
																				-2,
																				36,
																				-2))
														.addGroup(
																layout
																		.createSequentialGroup()
																		.addComponent(
																				btnMS,
																				-2,
																				36,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
																		.addComponent(
																				btnNum1,
																				-2,
																				36,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																		.addComponent(
																				btnNum2,
																				-2,
																				36,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																		.addComponent(
																				btnNum3,
																				-2,
																				36,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																		.addComponent(
																				btnSub,
																				-2,
																				36,
																				-2)
																		.addGap(
																				7,
																				7,
																				7)
																		.addComponent(
																				btnOneDivX,
																				-2,
																				36,
																				-2))
														.addGroup(
																layout
																		.createSequentialGroup()
																		.addComponent(
																				btnMPlus,
																				-2,
																				36,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
																		.addComponent(
																				btnNum0,
																				-2,
																				36,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																		.addComponent(
																				btnPosNeg,
																				-2,
																				36,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																		.addComponent(
																				btnDecimal,
																				-2,
																				36,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																		.addComponent(
																				btnAdd,
																				-2,
																				36,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																		.addComponent(
																				btnEquals,
																				-2,
																				36,
																				-2)
																		.addGap(
																				1,
																				1,
																				1))
														.addComponent(
																txtScreen,
																javax.swing.GroupLayout.Alignment.TRAILING,
																-1, 251, 32767)
														.addGroup(
																javax.swing.GroupLayout.Alignment.TRAILING,
																layout
																		.createSequentialGroup()
																		.addComponent(
																				lblMemo,
																				-1,
																				36,
																				32767)
																		.addGap(
																				10,
																				10,
																				10)
																		.addComponent(
																				btnBackspace,
																				-1,
																				73,
																				32767)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																		.addComponent(
																				btnCE,
																				-2,
																				60,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																		.addComponent(
																				btnC,
																				-2,
																				60,
																				-2)))
										.addContainerGap()));
		layout
				.setVerticalGroup(layout
						.createParallelGroup(
								javax.swing.GroupLayout.Alignment.LEADING)
						.addGroup(
								layout
										.createSequentialGroup()
										.addContainerGap()
										.addComponent(txtScreen, -2, 30, -2)
										.addPreferredGap(
												javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
										.addGroup(
												layout
														.createParallelGroup(
																javax.swing.GroupLayout.Alignment.LEADING)
														.addGroup(
																layout
																		.createSequentialGroup()
																		.addGap(
																				1,
																				1,
																				1)
																		.addComponent(
																				lblMemo,
																				-2,
																				31,
																				-2)
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
																		.addGroup(
																				layout
																						.createParallelGroup(
																								javax.swing.GroupLayout.Alignment.BASELINE)
																						.addComponent(
																								btnMC,
																								-2,
																								32,
																								-2)
																						.addComponent(
																								btnSqrt,
																								-2,
																								32,
																								-2)
																						.addComponent(
																								btnDiv,
																								-2,
																								32,
																								-2)
																						.addComponent(
																								btnNum9,
																								-2,
																								32,
																								-2)
																						.addComponent(
																								btnNum8,
																								-2,
																								32,
																								-2)
																						.addComponent(
																								btnNum7,
																								-2,
																								32,
																								-2))
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																		.addGroup(
																				layout
																						.createParallelGroup(
																								javax.swing.GroupLayout.Alignment.BASELINE)
																						.addComponent(
																								btnMR,
																								-2,
																								32,
																								-2)
																						.addComponent(
																								btnPercent,
																								-2,
																								32,
																								-2)
																						.addComponent(
																								btnMul,
																								-2,
																								32,
																								-2)
																						.addComponent(
																								btnNum6,
																								-2,
																								32,
																								-2)
																						.addComponent(
																								btnNum5,
																								-2,
																								32,
																								-2)
																						.addComponent(
																								btnNum4,
																								-2,
																								32,
																								-2))
																		.addPreferredGap(
																				javax.swing.LayoutStyle.ComponentPlacement.RELATED)
																		.addGroup(
																				layout
																						.createParallelGroup(
																								javax.swing.GroupLayout.Alignment.BASELINE)
																						.addComponent(
																								btnMS,
																								-2,
																								32,
																								-2)
																						.addComponent(
																								btnNum1,
																								-2,
																								32,
																								-2)
																						.addComponent(
																								btnNum2,
																								-2,
																								32,
																								-2)
																						.addComponent(
																								btnNum3,
																								-2,
																								32,
																								-2)
																						.addComponent(
																								btnSub,
																								-2,
																								32,
																								-2)
																						.addComponent(
																								btnOneDivX,
																								-2,
																								32,
																								-2)))
														.addGroup(
																layout
																		.createParallelGroup(
																				javax.swing.GroupLayout.Alignment.BASELINE)
																		.addComponent(
																				btnC,
																				-2,
																				32,
																				-2)
																		.addComponent(
																				btnCE,
																				-2,
																				32,
																				-2)
																		.addComponent(
																				btnBackspace,
																				-2,
																				32,
																				-2)))
										.addPreferredGap(
												javax.swing.LayoutStyle.ComponentPlacement.RELATED)
										.addGroup(
												layout
														.createParallelGroup(
																javax.swing.GroupLayout.Alignment.BASELINE)
														.addComponent(btnMPlus,
																-2, 32, -2)
														.addComponent(btnNum0,
																-2, 32, -2)
														.addComponent(
																btnPosNeg, -2,
																32, -2)
														.addComponent(
																btnDecimal, -2,
																32, -2)
														.addComponent(btnAdd,
																-2, 32, -2)
														.addComponent(
																btnEquals, -2,
																32, -2))
										.addContainerGap(-1, 32767)));
		pack();
		ActionListener actionListener = new ActionListener() {

			public void actionPerformed(ActionEvent e) {
				setVisible(false);
			}

			@SuppressWarnings("unused")
			final Calculadora this$0;

			{
				this$0 = Calculadora.this;

			}
		};
		KeyStroke stroke = KeyStroke.getKeyStroke(27, 0);
		((JComponent) getContentPane()).registerKeyboardAction(actionListener,
				stroke, 2);
		((JComponent) getContentPane()).registerKeyboardAction(actionListener,
				stroke, 2);
	}

	private void btnNum0ActionPerformed(ActionEvent evt) {
		number();
		if (!number.equals("0."))
			printNum("0");
	}

	private void btnNum1ActionPerformed(ActionEvent evt) {
		printNum("1");
	}

	private void btnNum2ActionPerformed(ActionEvent evt) {
		printNum("2");
	}

	private void btnNum3ActionPerformed(ActionEvent evt) {
		printNum("3");
	}

	private void btnNum4ActionPerformed(ActionEvent evt) {
		printNum("4");
	}

	private void btnNum5ActionPerformed(ActionEvent evt) {
		printNum("5");
	}

	private void btnNum6ActionPerformed(ActionEvent evt) {
		printNum("6");
	}

	private void btnNum7ActionPerformed(ActionEvent evt) {
		printNum("7");
	}

	private void btnNum8ActionPerformed(ActionEvent evt) {
		printNum("8");
	}

	private void btnNum9ActionPerformed(ActionEvent evt) {
		printNum("9");
	}

	private void btnDecimalActionPerformed(ActionEvent evt) {
		if (!isDecimal) {
			isDecimal = true;
			isNewNum = false;
		}
	}

	private void btnPosNegActionPerformed(ActionEvent evt) {
		number();
		double numDou = 0.0D;
		if (!number.equals("0.")) {
			numDou = Double.valueOf(number).doubleValue() * -1D;
			printToScreen(String.valueOf(numDou));
		}
	}

	private void btnBackspaceActionPerformed(ActionEvent evt) {
		number();
		if (isDecimal && number.charAt(number.length() - 1) == '.')
			isDecimal = false;
		else if (isDecimal && number.charAt(number.length() - 1) != '.')
			txtScreen.setText(slice(number, 0, number.length() - 1));
		else if (number.length() == 2) {
			txtScreen.setText("0.");
			isNewNum = true;
		} else {
			txtScreen.setText((new StringBuilder(String.valueOf(slice(number,
					0, number.length() - 2)))).append(".").toString());
		}
	}

	private void btnCEActionPerformed(ActionEvent evt) {
		txtScreen.setText("0.");
		isNewNum = true;
		isDecimal = false;
		isOptr = false;
	}

	private void btnCActionPerformed(ActionEvent evt) {
		txtScreen.setText("0.");
		number = "";
		num1 = 0.0D;
		num2 = 0.0D;
		answer = 0.0D;
		optr = ' ';
		isNewNum = true;
		isDecimal = false;
		isOptr = false;
		isSetNum1 = true;
		isSetNum2 = true;
		if (lblMemo.getText().equals("E/M"))
			lblMemo.setText("M");
		else if (lblMemo.getText().equals("E"))
			lblMemo.setText("");
		lblMemo.setForeground(Color.BLUE);
		btnAdd.setEnabled(true);
		btnBackspace.setEnabled(true);
		btnCE.setEnabled(true);
		btnDecimal.setEnabled(true);
		btnDiv.setEnabled(true);
		btnEquals.setEnabled(true);
		btnMC.setEnabled(true);
		btnMPlus.setEnabled(true);
		btnMR.setEnabled(true);
		btnMS.setEnabled(true);
		btnMul.setEnabled(true);
		btnNum0.setEnabled(true);
		btnNum1.setEnabled(true);
		btnNum2.setEnabled(true);
		btnNum3.setEnabled(true);
		btnNum4.setEnabled(true);
		btnNum5.setEnabled(true);
		btnNum6.setEnabled(true);
		btnNum7.setEnabled(true);
		btnNum8.setEnabled(true);
		btnNum9.setEnabled(true);
		btnOneDivX.setEnabled(true);
		btnPercent.setEnabled(true);
		btnPosNeg.setEnabled(true);
		btnSqrt.setEnabled(true);
		btnSub.setEnabled(true);
	}

	private void btnAddActionPerformed(ActionEvent evt) {
		if (!isOptr) {
			setNum1();
			printToScreen(String.valueOf(num1));
		}
		optr = '+';
	}

	private void btnSubActionPerformed(ActionEvent evt) {
		if (!isOptr) {
			setNum1();
			printToScreen(String.valueOf(num1));
		}
		optr = '-';
	}

	private void btnMulActionPerformed(ActionEvent evt) {
		if (!isOptr) {
			setNum1();
			printToScreen(String.valueOf(num1));
		}
		optr = '*';
	}

	private void btnDivActionPerformed(ActionEvent evt) {
		if (!isOptr) {
			setNum1();
			printToScreen(String.valueOf(num1));
		}
		optr = '/';
	}

	private void btnEqualsActionPerformed(ActionEvent evt) {
		if (!isSetNum1 || !isSetNum2) {
			setAnswer();
			printToScreen(String.valueOf(answer));
		}
	}

	private void btnSqrtActionPerformed(ActionEvent evt) {
		try {
			number();
			double numDou = Double.valueOf(number).doubleValue();
			printToScreen(String.valueOf(Math.sqrt(numDou)));
			isNewNum = true;
			isDecimal = false;
			isOptr = false;
		} catch (Exception ex) {
			errorMngr();
		}
	}

	private void btnPercentActionPerformed(ActionEvent evt) {
		try {
			number();
			double numDou = 0.0D;
			double percent = 0.0D;
			if (!isSetNum1 && isSetNum2)
				numDou = num1;
			else if (isSetNum1 && !isSetNum2)
				numDou = answer;
			else
				numDou = 0.0D;
			percent = (Double.valueOf(number).doubleValue() * numDou) / 100D;
			printToScreen(String.valueOf(percent));
			isNewNum = true;
			isDecimal = false;
			isOptr = false;
		} catch (Exception ex) {
			errorMngr();
		}
	}

	private void btnOneDivXActionPerformed(ActionEvent evt) {
		try {
			number();
			double numDou = Double.valueOf(number).doubleValue();
			numDou = 1.0D / numDou;
			printToScreen(String.valueOf(numDou));
			isNewNum = true;
			isDecimal = false;
			isOptr = false;
		} catch (Exception ex) {
			errorMngr();
		}
	}

	private void btnMPlusActionPerformed(ActionEvent evt) {
		try {
			if (!isSetNum1 && isSetNum2) {
				setAnswer();
				printToScreen(String.valueOf(answer));
			}
			memo += Double.valueOf(txtScreen.getText()).doubleValue();
			lblMemo.setText("M");
			isNewNum = true;
			isDecimal = false;
			isOptr = false;
		} catch (Exception ex) {
			errorMngr();
		}
	}

	private void btnMSActionPerformed(ActionEvent evt) {
		try {
			if (!isSetNum1 && isSetNum2) {
				setAnswer();
				printToScreen(String.valueOf(answer));
			}
			memo -= Double.valueOf(txtScreen.getText()).doubleValue();
			lblMemo.setText("M");
			isNewNum = true;
			isDecimal = false;
			isOptr = false;
		} catch (Exception ex) {
			errorMngr();
		}
	}

	private void btnMRActionPerformed(ActionEvent evt) {
		printToScreen(String.valueOf(memo));
		isNewNum = true;
		isDecimal = false;
		isOptr = false;
	}

	private void btnMCActionPerformed(ActionEvent evt) {
		lblMemo.setText("");
		memo = 0.0D;
	}

	public static void main(String args[]) {
		EventQueue.invokeLater(new Runnable() {

			public void run() {
				(new Calculadora()).setVisible(true);
			}

		});
	}

	private static final long serialVersionUID = 1L;

	private String number;

	private double num1;

	private double num2;

	private double answer;

	private double memo;

	private char optr;

	private boolean isNewNum;

	private boolean isDecimal;

	private boolean isOptr;

	private boolean isSetNum1;

	private boolean isSetNum2;

	private JButton btnAdd;

	private JButton btnBackspace;

	private JButton btnC;

	private JButton btnCE;

	private JButton btnDecimal;

	private JButton btnDiv;

	private JButton btnEquals;

	private JButton btnMC;

	private JButton btnMPlus;

	private JButton btnMR;

	private JButton btnMS;

	private JButton btnMul;

	private JButton btnNum0;

	private JButton btnNum1;

	private JButton btnNum2;

	private JButton btnNum3;

	private JButton btnNum4;

	private JButton btnNum5;

	private JButton btnNum6;

	private JButton btnNum7;

	private JButton btnNum8;

	private JButton btnNum9;

	private JButton btnOneDivX;

	private JButton btnPercent;

	private JButton btnPosNeg;

	private JButton btnSqrt;

	private JButton btnSub;

	private JLabel lblMemo;

	private JTextField txtScreen;

}
f4binho

up

F

legal seu codigo, mas tipo se eu quiser adicionar a operaçao "+" em um servidor em vez de ser local puxar de um servidor so para a operaçao MAIS, eu fiz uma porem nao consigo por ela pra funcionar usando ambiente grafico, olha so

public class Soma {
	public static void main(String[] args) throws IOException {
		double n1,n2;

		ServerSocket servidor = new ServerSocket(12346);
		System.out.println("Porta 12346 aberta!");

		while (true) {
		Socket cliente = servidor.accept();

		PrintStream saida = new PrintStream(cliente.getOutputStream());
		Scanner s = new Scanner(cliente.getInputStream());

		System.out.println("Nova conexão com o cliente " + cliente.getInetAddress().getHostAddress());

		n1 = s.nextDouble();
		n2 = s.nextDouble();

		saida.println(n1+n2);
		}
	}
}
F

alguem plzzzzzz

Criado 4 de junho de 2010
Ultima resposta 27 de jun. de 2010
Respostas 11
Participantes 5