Einfache Swing-Gui
So sieht sie aus
Der Quellcode
/* @author Oliver Mezger
* @version 11.03.10
*/
import java.awt.*; // Abstract Windowing Toolkit
import javax.swing.*; // Swing Komponenten fuer Oberflaeche
import java.awt.event.*;// Ereignisse wie Klick auf Button
public class Oberflaeche extends JPanel { // ein JPanel als Traeger der Komponenten
JTextField dieEingabe1 = new JTextField(10); // Textfeld zur Eingabe erzeugen mit 10 Zeichen Platz
JButton derButton = new JButton("Tu was"); // ein Button mit der Beschriftung "Tu was"
JLabel dasLabel = new JLabel("LiebesLabel"); // ein Label mit der Beschriftung "LiebesLabel"
public static void main(String[] args){ // Startfunktion
Oberflaeche dieOberflaeche = new Oberflaeche(); // die Oberflaeche erzeugen
JFrame derRahmen = new JFrame("Oberflaeche"); // einen Fensterrahmen erzeugen
derRahmen.getContentPane().add(dieOberflaeche); // das Panel in den Rahmen einbauen
derRahmen.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); // Programmende wenn Rahmen geschlossen
derRahmen.setSize(400,400); // Groesse des JFrame setzen
derRahmen.setVisible(true); // das Fenster soll sichtbar sein
}
public Oberflaeche(){ // Konstruktor der Oberflaeche
setBackground(Color.yellow); // der Hintergrund ist gelb
setLayout(new FlowLayout()); // Komponenten im Panel sollen einfach nacheinander angezeigt werden
add(dieEingabe1); // die Eingabe einbauen
add(derButton); // den Button einbauen
add(dasLabel); // das Label einbauen
derButton.addMouseListener(new java.awt.event.MouseAdapter() { // Ohr f?r ButtonClick
public void mousePressed(MouseEvent e) {
vearbeiteButtonClick(); // bei Click diese Methode aufrufen
}
});
}
void vearbeiteButtonClick(){
String s;
s=dieEingabe1.getText(); // Text einlesen
dasLabel.setText(s); // Text ausgeben
}
}
Benzinrechner mit graphischer Oberfläche
So sieht er aus
Der Quellcode
/* @author Oliver Mezger * @version 11.03.10 */ import java.awt.*; // Abstract Windowing Toolkit import javax.swing.*; // Swing Komponenten fuer Oberflaeche import java.awt.event.*;// Ereignisse wie Klick auf Button public class Oberflaeche extends JPanel { // ein JPanel als Traeger der Komponenten JLabel literLabel = new JLabel("Liter"); JLabel kmLabel = new JLabel("Kilometer"); JLabel verbrauchLabel = new JLabel("Verbrauch:"); JTextField literEingabe = new JTextField(10); JTextField kmEingabe = new JTextField(10); JButton berechneButton = new JButton("berechne"); public static void main(String[] args){ // Startfunktion Oberflaeche dieOberflaeche = new Oberflaeche(); // die Oberflaeche erzeugen JFrame derRahmen = new JFrame("Benzinrechner"); // einen Fensterrahmen erzeugen derRahmen.getContentPane().add(dieOberflaeche); // das Panel in den Rahmen einbauen derRahmen.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); // Programmende wenn Rahmen geschlossen derRahmen.setSize(400,400); // Groesse des JFrame setzen derRahmen.setVisible(true); // das Fenster soll sichtbar sein } public Oberflaeche(){ // Konstruktor der Oberflaeche setBackground(Color.yellow);// der Hintergrund ist gelb setLayout(null); // selber machen int durchschuss=5,hoehe=30,zeile1=20,spalte1=20,spalte2=90,spalte3=200; // Layoutpositionen literLabel.setBounds(spalte1,zeile1,spalte2-spalte1-2,hoehe-durchschuss); kmLabel.setBounds(spalte1,zeile1+hoehe,spalte2-spalte1-2,hoehe-durchschuss); verbrauchLabel.setBounds(spalte1,zeile1+2*hoehe,250,hoehe-durchschuss); literEingabe.setBounds(spalte2,zeile1,spalte3-spalte2-2,hoehe-durchschuss); kmEingabe.setBounds(spalte2,zeile1+hoehe,spalte3-spalte2-2,hoehe-durchschuss); berechneButton.setBounds(spalte3,zeile1+hoehe,100,hoehe-durchschuss); add(literLabel); add(kmLabel); add(verbrauchLabel); add(literEingabe); add(kmEingabe); add(berechneButton); berechneButton.addMouseListener(new java.awt.event.MouseAdapter() { // Ohr f?r ButtonClick public void mousePressed(MouseEvent e) { berechneButtonClick(); // bei Click diese Methode aufrufen } }); } void berechneButtonClick(){ double l,km,v; l = Double.parseDouble(literEingabe.getText()); km= Double.parseDouble(kmEingabe.getText()); v=l/km*100; //verbrauchLabel.setText("Verbrauch: "+v+" l/100km"); verbrauchLabel.setText(String.format("Verbrauch: %5.2f l/100km",v)); } }