Hi Leute!
Ich brauch ganz dringend Hilfe!
Ich hab einen Taschenrechner geschrieben (in einer JAVA-Datei) und soll den jetz so umschreiben, dass ich eine JAVA-Datei mit der grafischen Oberfläche habe und eine JAVA-Datei mit dem eigentlichen Rechner.
Kann mit jemand helfen?
Ich bin jetzt soweit.....:
Bitte helft mir schnell! Danke!
Ich brauch ganz dringend Hilfe!
Ich hab einen Taschenrechner geschrieben (in einer JAVA-Datei) und soll den jetz so umschreiben, dass ich eine JAVA-Datei mit der grafischen Oberfläche habe und eine JAVA-Datei mit dem eigentlichen Rechner.
Kann mit jemand helfen?
Ich bin jetzt soweit.....:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.*;
public class Taschenrechner
{
public static void main(String[] args)
{
TaschenrechnerFrame frame = new TaschenrechnerFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class TaschenrechnerFrame extends JFrame
{
public TaschenrechnerFrame()
{
setTitle("Taschenrechner");
setLocation(250, 250);
TaschenrechnerPanel panel = new TaschenrechnerPanel();
add(panel);
pack();
}
}
class TaschenrechnerPanel extends JPanel
{
public TaschenrechnerPanel()
{
setLayout(new BorderLayout());
result = 0;
lastCommand = "=";
start = true;
display.setEnabled(false);
add(display, BorderLayout.SOUTH);
ActionListener insert = new InsertAction();
ActionListener command = new CommandAction();
panel = new JPanel();
panel.setLayout(new GridLayout(4,5));
addButton("7", insert);
addButton("8", insert);
addButton("9", insert);
addButton("+", insert);
addButton("()^2", insert);
addButton("4", insert);
addButton("5", insert);
addButton("6", insert);
addButton("-", insert);
addButton("sqrt", insert);
addButton("1", insert);
addButton("2", insert);
addButton("3", insert);
addButton("x", insert);
addButton("1/x", insert);
addButton("0", insert);
addButton(".", insert);
addButton("+ / -", insert);
addButton("/", insert);
addButton("=", insert);
display = new JButton(" Willkommen! ");
display.setEnabled(true);
add(display, BorderLayout.NORTH);
add(panel, BorderLayout.CENTER);
}
private void addButton(String label, ActionListener listener)
{
JButton button = new JButton(label);
button.addActionListener(listener);
panel.add(button);
}
private class InsertAction implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
String input = event.getActionCommand();
if (start)
{
display.setText("");
start = false;
}
display.setText(display.getText() + input);
}
}
private class CommandAction implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
String command = event.getActionCommand();
if (start)
{
if (command.equals("-"))
{
display.setText(command);
start = false;
}
else
lastCommand = command;
}
else
{
calculate(Double.parseDouble(display.getText()));
lastCommand = command;
start = true;
}
if(command.equals("+ / -"))
{
result = result * (-1);
display.setText("" + result);
}
if(command.equals("sqrt"))
{
result = (Math.sqrt(result));
display.setText("" + result);
}
if(command.equals("()^2"))
{
result = (result*result);
display.setText("" + result);
}
if(command.equals("1/x"))
{
result = (1/result);
display.setText("" + result);
}
}
}
public void calculate(double x)
{
if (lastCommand.equals("+"))
result += x;
else
if(lastCommand.equals("-"))
result -= x;
else
if (lastCommand.equals("x"))
result *= x;
else
if (lastCommand.equals("/"))
result /= x;
else
if (lastCommand.equals("="))
result = x;
else
if (lastCommand.equals("()^2"))
result =(x*x);
else
if (lastCommand.equals("sqrt"))
result =(Math.sqrt(x));
else
if (lastCommand.equals("1/x"))
result =(1/x);
else
if (lastCommand.equals("+ / -"))
result =(x*(-1));
display.setText("" + result);
}
JButton display;
JPanel panel;
double result;
String lastCommand;
boolean start;
}
Bitte helft mir schnell! Danke!