Lösung Übung 16: EuroRechner als Applikation und Applet nutzbar
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
import java.math.BigDecimal;
public class EuroRechner extends Applet implements ActionListener {
private TextField ursprungsBetrag;
private Label euroBetrag;
private Button rechnenButton;
public void init() {
setLayout( new BorderLayout() );
Panel p = new Panel( new GridLayout(2,2) );
p.add( new Label("DM-Betrag:") );
ursprungsBetrag = new TextField(20);
p.add(ursprungsBetrag);
p.add( new Label("Euro-Betrag:") );
euroBetrag = new Label();
p.add(euroBetrag);
add(p, BorderLayout.NORTH );
rechnenButton = new Button("DM -> Euro");
rechnenButton.addActionListener(this);
add(rechnenButton, BorderLayout.CENTER);
}
public void actionPerformed( ActionEvent e ) {
double dm = String2Double( ursprungsBetrag.getText() );
double euro = DM2Euro( dm );
euroBetrag.setText( Double.toString(euro) );
}
private double String2Double( String str ) {
double retValue = 0.0;
try {
Double temp = Double.valueOf(str);
retValue = temp.doubleValue();
}
catch( NumberFormatException e ) {
}
return(retValue);
}
private double DM2Euro( double dm ) {
final BigDecimal kurs = new BigDecimal(1.95583);
BigDecimal betrag = new BigDecimal(dm);
BigDecimal result = null;
try {
result = betrag.divide( kurs, 2, BigDecimal.ROUND_HALF_UP );
}
catch (Exception e){
}
return( result != null ? result.doubleValue() : 0.0 );
}
public static void main( String[] args ) {
Applet euroRechner = new EuroRechner();
Frame appWin = new Frame();
appWin.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e ) {
System.exit(0);
}
}
);
appWin.add( euroRechner );
appWin.setSize( 200, 100 );
euroRechner.init();
euroRechner.start();
appWin.setVisible( true );
}
}
[Index]