Jeg har lavet en lille lommeregner, der illustrer det du vil have (kig også på
http://www.roskildebc.dk/anders/oop99e/ for flere små eksempler til en ny Java-programmør)
// AB 29.10.99
// En lille lommeregner til illustration af simpel input/output i grafisk brugergrænseflade.
// Kan køre som både
// applikation: java Lommeregner fra prompten
// applet: via en browser eller appletviewer, se lommeregner.html
import java.applet.Applet;
import java.awt.*; // TextField, Button, Frame
import java.awt.event.*; // ActionListener, ActionEvent, WindowAdapter, WindowEvent
public class Lommeregner extends Applet implements ActionListener {
private final TextField input1 = new TextField(10);
private final TextField input2 = new TextField(10);
private final TextField resultatFelt = new TextField(10);
private final Button plusKnap = new Button("+");
private final Button minusKnap = new Button("-");
public void init() {
this.add(input1); // Tilføj feltet input1 til brugergrænsefladen
this.add(input2);
this.add(plusKnap);
this.add(minusKnap);
this.add(resultatFelt);
plusKnap.addActionListener(this); // Der skal "lyttes" på denne knap.
minusKnap.addActionListener(this);
resultatFelt.setEditable(false); // Der kan ikke editeres i dette felt
}
public void actionPerformed(final ActionEvent event) {
// Kaldes hver gang der kommer et ActionEvent
// her fordi nogen har trykket på en knap.
int tal1 = Integer.parseInt( input1.getText() );
// input1.getText() leverer en String. Den skal konverteres til en int.
// OBS det kan resultarer i en NumberFormatException,
// hvis input1 indeholder et ikke-tal f.eks. "abc15"
int tal2 = Integer.parseInt( input2.getText() );
int resultat = 0;
Object knap = event.getSource();
if (knap.equals(plusKnap))
resultat = tal1 + tal2;
else if (knap.equals(minusKnap))
resultat = tal1 - tal2;
resultatFelt.setText( String.valueOf(resultat) );
// resultat er en int. Den skal konverteres til en String,
// før den kan vises frem i resultatFelt.
}
public static void main(final String [] args) {
// Hovedprogrammet, hvis programmet køres som applikation fra kommandolinien.
// Bruges ikke, hvis programmet køres som applet.
final Frame vindue = new Frame("Lommeregner");
final Lommeregner lommeregner = new Lommeregner();
lommeregner.init();
// Et lille trick for at få vinduet til at lukke,
// når man trykker på "krydset" i øverste højre hjørne.
vindue.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
vindue.add(lommeregner); // Lommegner interfacet placeres på vinduet
vindue.pack(); // Layouter vinduet
vindue.setVisible(true); // Gør vinduet synligt
}
}
---------------- HTML-FIL TIL AFPRØVNING AF LOMMEREGNER---------
------ LOMMEREGNER KAN OGSÅ KØRE SOM APPLIKATION FRA KOMMANDOLINIEN----
<html>
<head>
<title>Afprøvning af applet</title>
</head>
<body>
<applet code="Lommeregner.class" width=400 height=50>
</applet>
</body>
</html>