[an error occurred while processing this directive]
Rheinland-Pfalz;
Informatik
Letzte Aktualisierung: 21.8.2008; Claus Schmitt
![]() |
Startseite Informatik-Rheinland-Pfalz |
Aufrufe seit 21.8.2008
"von Hand" |
mit dem Eclipse- Plugin Jigloo |
|
![]() |
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.
![]() |
Startseite Informatik-Rheinland-Pfalz |