// Aufgabe: Ähnlich wie in formulare.html in HTML // soll hier ein Fenster geöffnet werden, und // ein einfaches Texteingabefeld // ein mehrzeiliges Zexteingabefeld // Ausklapp-Menü // checkboxen (unabhängig) // Radio-Boxen (löschen sich gegenseitig aus) // eingefügt werden. // Das notwendige: Libraries import java.awt.*; import java.awt.event.*; public class Formulare extends Frame { public static void main(String[] args) { new Formulare(); } public Formulare() { // Fenster soll mit "Schließen" Knopf geschlossen // werden können, hier die "kompakte" Version: addWindowListener( new WindowAdapter(){ public void windowClosing(WindowEvent e) {System.exit(0);}}); setSize(800,600); setVisible(true); setTitle("Formular-Elemente in JAVA"); // Layout definieren. Das "freie" Layout // wird so aktiviert: setLayout(null); // Großer Font Font font = new Font("SansSerif",Font.PLAIN,16); setFont(font); // Muss final sein (Java8), damit das Auslesen // weiter unten funktioniert. final TextField tf = new TextField(); tf.setBounds(100,60,600,20); add(tf); final TextArea multi = new TextArea(5,20); multi.setBounds(100,100,600,100); add(multi); final Choice choice = new Choice(); // Ein Aufklapp-Menü choice.add("Erster Eintrag"); choice.add("Zweiter Eintrag"); choice.add("Dritter Eintrag"); choice.setBounds(100,250,600,50); add(choice); final Checkbox c1 = new Checkbox("Checkbox Nummer 1"); c1.setBounds(100,350,200,20); final Checkbox c2 = new Checkbox("Checkbox Nummer 2"); c2.setBounds(350,350,200,20); add(c1); add(c2); // Erst mit iner CheckboxGroup wird aus normalen // Checkboxen eine "Radiobox" final CheckboxGroup radio = new CheckboxGroup(); final Checkbox r1 = new Checkbox("Radio Nummer 1",radio,true); r1.setBounds(100,400,200,20); final Checkbox r2 = new Checkbox("Radio Nummer 2",radio,true); r2.setBounds(350,400,200,20); add(r1); add(r2); // TODO: Zugriff auf die Elemente, Auswertung, // Eventlistener für die verschiedenen Zugriffsarten final Button b = new Button("Button"); // Hier soll die Schrift mal etwas größer sein b.setFont(new Font("SansSerif",Font.BOLD,24)); b.setBounds(100,450,600,50); add(b); // Bei Klick auf den Button sollen // ALLE Formularfelder gelesen werden. MouseListener ml = new MouseAdapter() { public void mouseClicked(MouseEvent e) { System.out.println("Klick im Button"); // Damit das Auslesen des Inhalts // an DIESER Stelle funktioniert // muss tf oben als FINAL deklariert sein. System.out.println("Im Textfeld steht: " + tf.getText()); System.out.println("Im Mehrfach-Textfeld steht: " + multi.getText()); System.out.println("Im Popup-Menü steht: " + choice.getSelectedItem()); System.out.println("In Checkbox 1 steht: " + c1.getState()); System.out.println("In Checkbox 2 steht: " + c2.getState()); System.out.println("In der Radiobox ist das Feld: " + radio. getSelectedCheckbox(). getLabel() + " ausgewählt."); } }; b.addMouseListener(ml); // Exemplarisch: Wir werten die Eingabetaste // im ersten Textfeld aus. ActionListener al = new ActionListener() { public void actionPerformed(ActionEvent ev) { System.out.println("Im Textfeld steht jetzt: " + tf.getText()); } }; tf.addActionListener(al); } }