G
Guest
Gast
Hi,
komme einfach nicht weiter, habe es schon den ganzen tag probiert bis mir der Kopf qualmte...
will ein Taschenrechner programmieren, doch wie kann ich die Enter Taste so progr. das diese erkennt um
welche operatoion es sich handelt ? habe es so versucht :
habe ein eigenes Textfeld nur für Operatoren, aso habe ich dann if((evt.getSource==bReturn)&&(operator.getText().equals("+")))
dann add(x,y)..
mit boolean ..habe ich es auch probiert :
//boolean oplus = operator.getText().equals("+");
//boolean ominus = operator.getText().equals("-");
und dann eben if(oplus==true) ..add(x,y)...etc..
aber irgendwie klappt es nicht ??..
es hat nicht funktioniert ich poste mal mein code,...
es funktiomiert jetzt nur die addition .. vielleicht kann mir jemand weiter helfen.
Danke..
GRML hab mal die vielen überflüssigen whitespaces entfernt. - Roar
komme einfach nicht weiter, habe es schon den ganzen tag probiert bis mir der Kopf qualmte...
will ein Taschenrechner programmieren, doch wie kann ich die Enter Taste so progr. das diese erkennt um
welche operatoion es sich handelt ? habe es so versucht :
habe ein eigenes Textfeld nur für Operatoren, aso habe ich dann if((evt.getSource==bReturn)&&(operator.getText().equals("+")))
dann add(x,y)..
mit boolean ..habe ich es auch probiert :
//boolean oplus = operator.getText().equals("+");
//boolean ominus = operator.getText().equals("-");
und dann eben if(oplus==true) ..add(x,y)...etc..
aber irgendwie klappt es nicht ??..
es hat nicht funktioniert ich poste mal mein code,...
es funktiomiert jetzt nur die addition .. vielleicht kann mir jemand weiter helfen.
Danke..
Code:
import java.awt.*;
import java.awt.event.*;
public class TaschenRechner extends Frame implements ActionListener {
Button b0= new Button("0");
Button b1= new Button("1");
Button b2= new Button("2");
Button b3= new Button("3");
Button b4= new Button("4");
Button b5= new Button("5");
Button b6= new Button("6");
Button b7= new Button("7");
Button b8= new Button("8");
Button b9= new Button("9");
Button bPunkt= new Button(".");
Button bplus= new Button("+");
Button bminus= new Button("-");
Button bmal= new Button("*");
Button bgeteilt= new Button("/");
Button bBruchrechnen= new Button("Bruchrechnen");
Button bNormal= new Button("Normal");
Button bReturn= new Button("Enter");
Button bC= new Button("C");
Button bC1= new Button("<-");
// Label
Label ergebnis = new Label("Ergebnis");
TextField ausgabe = new TextField(15);
TextField operator = new TextField(2);
Panel panel1 = new Panel();
Panel panel2 = new Panel();
Panel panel3 = new Panel();
TaschenRechner() {// Konstruktor
super("Taschenrechner");
b0.addActionListener( this);// Der ActionListener wird bei
b1.addActionListener( this);// beiden Knöpfen registriert
b2.addActionListener( this);// Der ActionListener wird bei
b3.addActionListener( this);// beiden Knöpfen registriert
b4.addActionListener( this);// Der ActionListener wird bei
b5.addActionListener( this);// beiden Knöpfen registriert
b6.addActionListener( this);// Der ActionListener wird bei
b7.addActionListener( this);//
b8.addActionListener( this);// Der ActionListener wird bei
b9.addActionListener( this);
bC1.addActionListener( this);
bC.addActionListener( this);// beiden Knöpfen registriert
bplus.addActionListener( this);
bPunkt.addActionListener( this);// Der ActionListener wird bei
bminus.addActionListener( this);//
bmal.addActionListener( this);// Der ActionListener wird bei
bgeteilt.addActionListener( this);// beiden Knöpfen registriert
bBruchrechnen.addActionListener( this);// Der ActionListener wird bei
bNormal.addActionListener( this);
bReturn.addActionListener( this);
panel1.setLayout(new GridLayout(3,6));
panel1.add(b0);
panel1.add(b1);
panel1.add(b2);
panel1.add(b3);
panel1.add(b4);
panel1.add(b5);
panel1.add(b6);
panel1.add(b7);
panel1.add(b8);
panel1.add(b9);
panel1.add(bC);
panel1.add(bC1);
panel1.add(bPunkt);
panel1.add(bplus);
panel1.add(bminus);
panel1.add(bmal);
panel1.add(bgeteilt);
panel1.add(bReturn);
panel2.setLayout(new GridLayout(2,1));
panel2.add(bBruchrechnen);
panel2.add(bNormal);
operator.setEditable(false);
ausgabe.setEditable(false);
ausgabe.setColumns(16);
// ###############################
GridBagLayout gbl = new GridBagLayout();
setLayout( gbl );
addComponent(panel3, gbl ,ergebnis, 0, 1, 1, 1, 0.1, 0.1, GridBagConstraints.NORTH , GridBagConstraints.HORIZONTAL);
addComponent(panel3, gbl ,ausgabe, 0, 2, 1, 1, 0.1, 0.1, GridBagConstraints.NORTH , GridBagConstraints.HORIZONTAL);
addComponent(panel3, gbl ,operator, 0, 2, 1, 1, 0.1, 0.1, GridBagConstraints.NORTH , GridBagConstraints.HORIZONTAL);
panel3.setLayout( gbl );
// ###############################
panel3.add(operator);
panel3.add(ergebnis);
panel3.add(ausgabe);
setLayout(new GridLayout(3,1));
add(panel3);
add(panel1);
add(panel2);
setFont(new Font("Arial",Font.BOLD,15));
panel3.setFont(new Font("Arial",Font.BOLD,15));
panel3.setBackground(Color.green);
}
public void addComponent(Container cont, GridBagLayout gbl, Component c,
int x ,int y, int width, int height,
double weightx, double weighty, int anchor, int gbconst)
{
GridBagConstraints gbc = new GridBagConstraints();
gbc.fill = gbconst;
gbc.gridx = x;
gbc.gridy = y;
gbc.gridwidth = width;
gbc.gridheight = height;
gbc.weightx = weightx;
gbc.weighty = weighty;
gbc.anchor = anchor;
gbl.setConstraints(c, gbc);
cont.add(c);
}
private int x,y,z;
public void actionPerformed( ActionEvent evt){
String s;
if(evt.getSource()==b1)
ausgabe.setText(ausgabe.getText()+"1");
if(evt.getSource()==b2)
ausgabe.setText(ausgabe.getText()+"2");
if(evt.getSource()==b3)
ausgabe.setText(ausgabe.getText()+"3");
if(evt.getSource()==b4)
ausgabe.setText(ausgabe.getText()+"4");
if(evt.getSource()==b5)
ausgabe.setText(ausgabe.getText()+"5");
if(evt.getSource()==b6)
ausgabe.setText(ausgabe.getText()+"6");
if(evt.getSource()==b7)
ausgabe.setText(ausgabe.getText()+"7");
if(evt.getSource()==b8)
ausgabe.setText(ausgabe.getText()+"8");
if(evt.getSource()==b9)
ausgabe.setText(ausgabe.getText()+"9");
if(evt.getSource()==b0)
ausgabe.setText(ausgabe.getText()+"0");
if(evt.getSource()==bC)
ausgabe.setText("");
operator.setText("");
if(evt.getSource()==bplus){
x=Integer.parseInt(ausgabe.getText().trim());
operator.setText("+");
ausgabe.setText("");
}
if(evt.getSource()==bminus){
x=Integer.parseInt(ausgabe.getText().trim());
operator.setText("-");
ausgabe.setText("");
}
if(evt.getSource()==bReturn){
y=Integer.parseInt(ausgabe.getText().trim());
z=Rechnen.add(x,y);
ausgabe.setText(z+"");
}
repaint();
}
public static void main( String[] args) {
TaschenRechner demo = new TaschenRechner();
demo.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}});
// ...
demo.setSize( 320, 200 );
demo.setVisible( true);
}
}
GRML hab mal die vielen überflüssigen whitespaces entfernt. - Roar