Java:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
public class Gui extends Frame implements ActionListener, WindowListener {
Rechner r;
Button add;
Button sub;
Button div;
Button mul;
TextField zahl1;
TextField zahl2;
Label ergebnis;
public Gui() {
this.setLayout( new FlowLayout() );
this.setSize( 300, 300 );
add = new Button( "+" );
sub = new Button( "-" );
div = new Button( "/" );
mul = new Button( "*" );
zahl1 = new TextField( 7 );
zahl2 = new TextField( 7 );
ergebnis = new Label( "Noch keine Rechnung vorgenommen" );
this.add( add );
this.add( sub );
this.add( div );
this.add( mul );
this.add( zahl1 );
this.add( zahl2 );
this.add( ergebnis );
add.addActionListener( this );
sub.addActionListener( this );
div.addActionListener( this );
mul.addActionListener( this );
this.setSize( 300, 300 );
this.setVisible( true );
}
public void actionPerformed( ActionEvent e ) {
if( e.getSource() == add ) {
ergebnis.setText( Double.toString( r.addieren( Double.parseDouble( zahl1.getText() ), Double.parseDouble( zahl2.getText() ) ) ) );
}
if( e.getSource() == sub ) {
ergebnis.setText( Double.toString( r.subtrahieren( Double.parseDouble( zahl1.getText() ), Double.parseDouble( zahl2.getText() ) ) ) );
}
if( e.getSource() == div ) {
ergebnis.setText( Double.toString( r.dividieren( Double.parseDouble( zahl1.getText() ), Double.parseDouble( zahl2.getText() ) ) ) );
}
if( e.getSource() == mul ) {
ergebnis.setText( Double.toString( r.multiplizieren( Double.parseDouble( zahl1.getText() ), Double.parseDouble( zahl2.getText() ) ) ) );
}
}
public void windowActivated(WindowEvent e) {
}
public void windowClosed(WindowEvent e) {
}
public void windowClosing(WindowEvent e) {
System.exit( 0 );
}
public void windowDeactivated(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowOpened(WindowEvent e) {
}
}
Habs auch schon mit Swing probiert.
Das fenster poppt für ne viertel oder halbe sekunde auf und is dann wieder zu.
Keine fehlermeldung garnix :/
Rechner is ne billige klasse mit 4 Methoden die 2 übergebene werte halt wieder zurückgeben.
In der CLI geht alles einwandfrei, liegt also an der Gui
Zuletzt bearbeitet: