import java.awt.*; // Grafikfunktionen und GUI-Elemente import java.awt.event.*; // Ereignisse import java.applet.*; // Applet-Klasse // Die Klasse soll standalone und als Applet funktionieren // ActionListener soll die Funktion zum Abfragen einer // Betätigung zur Verfügung stellen // ItemListener stellt die Funktion itemStateChanged zur Verfügung public class GUI_Checkbox extends Applet implements ActionListener,ItemListener { // showGUI() wird später definiert, und enthält die GUI-Elemente, // die wahlweise in main() oder init() verwendet werden // init() wird aufgerufen, wenn das Programm als Applet läuft public void init(){ showGUI(); } // main() wird bei Standalone-Betrieb aufgerufen, und muss erst mal // ein Fenster öffnen. public static void main(String[] args){ Frame frame = new Frame("GUI in Java"); // Fenster-Objekt frame.setSize(800,600); // Applet-Contect erzeugen, damit die Applet-Funktionen // ebenfalls in der Standalone-Version aufgerufen werden können GUI_Checkbox applet = new GUI_Checkbox(); // ist ein Applet! frame.add(applet); // applet ins Fenster setzen // Wir möchten das Fenster schließen können frame.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){System.exit(0);} }); // Jetzt sind wird da angekommen, wo wir mit Browser und Applet auch wären. applet.init(); // Init aufrufen aus dem Applet applet.start(); // Applet starten, damit es losläuft frame.setVisible(true); // Ab jetzt sichtbar } public void showGUI(){ Font bold = new Font("SansSerif", Font.BOLD, 20); Checkbox c1 = new Checkbox("Eins"); Checkbox c2 = new Checkbox("Zwei"); Checkbox c3 = new Checkbox("Drei"); c1.setFont(bold); c2.setFont(bold); c3.setFont(bold); c1.addItemListener(this); c2.addItemListener(this); c3.addItemListener(this); // Die Checkboxen sollen UNTEREINANDER stehen! setLayout(null); c1.setBounds(10,100,200,60); // x,y,breite,höhe c2.setBounds(10,170,200,60); // x,y,breite,höhe c3.setBounds(10,240,200,60); // x,y,breite,höhe add(c1); add(c2); add(c3); } // Wird ausgeführt, wenn ein Element betätigt wurde public void actionPerformed(ActionEvent e){ printText(e.toString(), 350); } // Wird ausgeführt, wenn ein Menüeintrag ausgewählt wird public void itemStateChanged(ItemEvent e){ printText(e.toString(), 350); } // Zeichne Text an die Position y im Fenster public void printText(String text, int ypos){ Graphics g = getGraphics(); g.clearRect(10,ypos-40,780,80); // Alten Text löschen g.drawString(text, 10, ypos); } }