[an error occurred while processing this directive]


Rheinland-Pfalz;  Informatik                                 

Letzte Aktualisierung:  21.8.2008; Claus Schmitt

Zurück zur Startseite Informatik / Rheinland-Pfalz Startseite Informatik-Rheinland-Pfalz

   Aufrufe seit  21.8.2008                       





 zurück zur Java Startseite

                                                                                                                                            

                                                   


Synopse für die Erzeugung einer GUI:

"von Hand"

mit dem Eclipse- Plugin Jigloo

I

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;     // wird nicht gebraucht
import java.awt.event.WindowListener;  // wird nicht gebraucht
import java.text.NumberFormat;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;          // wird nicht gebraucht
import javax.swing.JTextField;
import javax.swing.event.CaretEvent;   // wird nicht gebraucht
import javax.swing.event.CaretListener;// wird nicht gebraucht

public class AppWindow extends JFrame {
	// Vier Klassenvariable deklarieren
	JTextField textfield_dm; // Zwei Texteingabefelder
	JTextField textfield_euro;
	JButton button, button_exit; // Zwei Knöpfe

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		AppWindow theAppWindow = new AppWindow();
		// Position des Fensters
		// Linke obere Ecke und Maße
		theAppWindow.setBounds(100, 100, 420, 180);
		theAppWindow.show();
	}

	// Konstruktor
	public AppWindow() {
		this.getContentPane().setLayout(null); // Ohne Layoutmanager
		this.initWindow(); // Positionen genau angeben
	}

	public void initWindow() {
		// Vier GUI-Objekte erzeugen
		textfield_dm = new JTextField();
		textfield_euro = new JTextField();
		button = new JButton("DM in Euro");
		button_exit = new JButton("Ende");
		// Positionen und Maße der GUI-Objekte
		textfield_dm.setBounds(5, 10, 200, 25);
		textfield_euro.setBounds(5, 80, 200, 25);
		button.setBounds(300, 40, 100, 30);
		button_exit.setBounds(300, 110, 100, 30);
		// Bei beiden Knöpfen auf das Ereignis warten und reagieren
		button.addActionListener(new ActionListener() {
		 public void actionPerformed(ActionEvent arg0) {
				buttonBerechneClicked();
			}
		});
		button_exit.addActionListener(new ActionListener() {
		 public void actionPerformed(ActionEvent arg0) {
				System.exit(0);
			}
		});
		// Die vier GUI-Objekte dem Fenster zufügen
		this.getContentPane().add(textfield_dm);
		this.getContentPane().add(textfield_euro);
		this.getContentPane().add(button);
		this.getContentPane().add(button_exit);
		this.pack();
	}
 
 
 

      






 
	// Die Methode für die Aktion, wenn der Knopf 
        //gedrückt wird
	public void buttonBerechneClicked() {
		double dm = 0;
		try {
			// Den DM-Wert aus dem Fenster ziehen
		 dm = Double.parseDouble(textfield_dm.getText());
		} catch (NumberFormatException e) {
			dm = -1;
		}
		if (dm >= 0) {
			// in Euro umrechnen
		  double euro = dm2euro(dm);
			// Für die Stringvariable ausgabe
                        // formatieren
		   NumberFormat nf = NumberFormat.getInstance();
		   nf.setMaximumFractionDigits(2);
		   String ausgabe = nf.format(euro) + "€";
		   textfield_euro.setText(ausgabe);
		} else
			textfield_euro.setText("Fehler in der Eingabe");
	}
	// Die Methode für die eigentliche Umrechnung
	public double dm2euro(double dm) {
		double euro = dm / 1.95583;
		return euro;
     }
}
import java.awt.BorderLayout;      // wird nicht gebraucht
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.NumberFormat;
import javax.swing.BorderFactory;  // wird nicht gebraucht
import javax.swing.JButton;
import javax.swing.JTextPane;
import javax.swing.WindowConstants;
import javax.swing.border.LineBorder;
import javax.swing.SwingUtilities;

public class GUI_plugin extends javax.swing.JFrame {
	private JButton jButton;
	private JTextPane textfield_euro;
	private JButton jButton_ende;
	private JTextPane textfield_dm;

	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				GUI_plugin inst = new GUI_plugin();
				inst.setLocationRelativeTo(null);
				inst.setVisible(true);
			}
		});
	}

	public GUI_plugin() {
		super();
		initGUI();
	}

	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			getContentPane().setLayout(null);
			{
				jButton = new JButton();
				getContentPane().add(jButton);
				jButton.setText("DM in Euro");
				jButton.setBounds(212, 123, 203, 42);
				jButton.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						System.out.println
                                                  ("jButton.actionPerformed, event="
								+ evt);
						// TODO add your code for 
                                                //jButton.actionPerformed
						buttonBerechneClicked();
					}
				});
			}
			{
				textfield_dm = new JTextPane();
				getContentPane().add(textfield_dm);
				textfield_dm.setBounds(48, 65, 131, 26);
				textfield_dm.setBorder(new LineBorder
                                  (new java.awt.Color(0,0,0), 1, false));
			}
			{
				textfield_euro = new JTextPane();
				getContentPane().add(textfield_euro);
				textfield_euro.setBounds(235, 65, 131, 26);
				textfield_euro.setBorder(new LineBorder
                                  (new java.awt.Color(0,0,0), 1, false));
			}
			{
				jButton_ende = new JButton();
				getContentPane().add(jButton_ende);
				jButton_ende.setText("Ende");
				jButton_ende.setBounds(212, 231, 203, 35);
				jButton_ende.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
					 System.out.println
                                         ("jButton_ende.actionPerformed, event="+evt);
					 //TODO add your code for 
                                         //jButton_ende.actionPerformed
						System.exit(0);
					}
				});
			}
			pack();
			this.setSize(457, 332);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

 
	// Die Methode für die Aktion, wenn der Knopf gedrückt wird
	public void buttonBerechneClicked() {
		double dm = 0;
		try {
			// Den DM-Wert aus dem Fenster ziehen
			dm = Double.parseDouble(textfield_dm.getText());
		} catch (NumberFormatException e) {
			dm = -1;
		}
		if (dm >= 0) {
			// in Euro umrechnen
			double euro = dm2euro(dm);
			// Für die Stringvariable ausgabe formatieren
			NumberFormat nf = NumberFormat.getInstance();
			nf.setMaximumFractionDigits(2);
			String ausgabe = nf.format(euro) + "€";
			textfield_euro.setText(ausgabe);
		} else
			textfield_euro.setText("Fehler in der Eingabe");
	}
 
	// Die Methode für die eigentliche Umrechnung
	public double dm2euro(double dm) {
		double euro = dm / 1.95583;
		return euro;
	}
}

Nach dem Vergleich bleibt die individuelle Schlussfolgerung dem Leser überlassen. 

Ergänzungen und Anregungen bitte an Claus Schmitt
 

Zurück zur Startseite Informatik / Rheinland-Pfalz Startseite Informatik-Rheinland-Pfalz
Impressum · Datenschutz