All pastes #968870 Raw Edit

tre

public text v1 · immutable
·published 2008-04-03 10:53 UTC
rendered paste body
// Dies ist ein Applet, muss also aus einer HTML-Seite im Browser
// gestartet werden.

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.awt.print.*;
import java.lang.Integer;

public class MultiGUI extends Applet implements MouseListener,WindowListener,ActionListener,ItemListener,MouseMotionListener {
// hier oben von allen objekten auf die du zugreifen willst eintragen
private class name ; // syntax
private JCheckBox mwst; // bsp
private JTextField text; //bsp


	public static void main(String[] args) {
		Frame f = new Frame("MultiGUI");
		f.setSize(800,600); // Größe ändern (breite, höhe)
		f.setVisible(true); // Fenster sichtbar machen

		Applet a = new MultiGUI(); // Applet-Context holen
		f.add(a); // Applet-Eigenschaften zum Fenster hinzufügen

		// "Schließen"-Knopf:
		// Verweis auf die in dieser Klasse definierten WindowAdapter-Mehoden
		f.addWindowListener((MultiGUI)a);

		// Maus-Events,
		// Verweis auf die in dieser Klasse definierten MouseAdapter-Mehoden
		f.addMouseListener((MultiGUI)a);

		a.init(); // paint(g); wird hier nicht gebraucht.
		a.start();
		f.setVisible(true); // Fenster und Buttons sichtbar machen
	} // Ende Applikation, ab hier Applet-Stuff.


	// paint() entspricht dem "main" bei Applikationen, wird aber
	// _jedesmal_ beim Zeichnen/Refresh des Applet aufgerufen.
	// Graphics g wird vom Browser geliefert und hat die Größe des
	// width=... und height=... Kontextes im APPLET-Tag in der
	// HTML-Datei.
	
	public void paint(Graphics g) { } // Hier ausnahmsweise leer.

	// init() wird nur einmalig zu Beginn aufgerufen
	public void init() {
		// Layout in 2 Zeilen a 4 Spalten
		// setLayout(new GridLayout(2, 4));

		setLayout(null); // freies Layout mit setBounds()

		Font meinfont = new Font("SansSerif",Font.BOLD,16);
		
		//1. Zeile
		Label label = new Label("Anzahl der Benutzer des Programms:");
		label.setFont(meinfont);
		label.setBounds(10,10,400,30);
		add(label);
	
		TextField textfield = new TextField("Bitte eintragen",20);
		textfield.setFont(meinfont);
		textfield.setBounds(430,10,280,30); // s.o.
		add(textfield);
		textfield.addActionListener(this);

		
		//2. Zeile
		Label label2 = new Label("Preis Fremdlizenzierung je Benutzer:");
		label2.setFont(meinfont);
		label2.setBounds(10,50,400,30);
		add(label2);
		
		TextField textfield2 = new TextField("Bitte eintragen",20);
		textfield2.setFont(meinfont);
		textfield2.setBounds(430,50,280,30); // s.o.
		add(textfield2);
		textfield2.addActionListener(this);
		
		//3. Zeile
		Label label3 = new Label("Geschätzte Anzahl an Programmierstunden:");
		label3.setFont(meinfont);
		label3.setBounds(10,90,400,30);
		add(label3);
		
		TextField textfield3 = new TextField("Bitte eintragen",20);
		textfield3.setFont(meinfont);
		textfield3.setBounds(430,90,280,30); // s.o.
		add(textfield3);
		textfield3.addActionListener(this);
		
		//4. Zeile
		Label label4 = new Label("Preis je Programmierstunde:");
		label4.setFont(meinfont);
		label4.setBounds(10,130,400,30);
		add(label4);
		
		TextField textfield4 = new TextField("Bitte eintragen",20);
		textfield4.setFont(meinfont);
		textfield4.setBounds(430,130,280,30); // s.o.
		add(textfield4);
		textfield4.addActionListener(this);
			
		CheckboxGroup radio = new CheckboxGroup();
		Checkbox r1 = new Checkbox("Mit MwSt. berechnen",radio,true);
		Checkbox r2 = new Checkbox("Ohne MwSt. berechnen",radio,true);
		r1.setFont(meinfont);
		r2.setFont(meinfont);
		r1.setBounds(10,170,200,30);
		r2.setBounds(250,170,200,30);
		add(r1);
		add(r2);
		r1.addItemListener(this);
		r2.addItemListener(this);
		
		/* double zahl = Double.parseDouble(textfield);
		
		
		Label label5 = new Label(""+zahl);
		label5.setFont(meinfont);
		label5.setBounds(10,210,400,30);
		add(label5);  */
		
		Button button = new Button("Berechnen");
		button.setFont(meinfont);
		// Der Button soll 10 Punkte vom linken, 10 vom rechten
		// Rand entfernt sein, und 80 Pixel breit, 20 Pixel
		// hoch.
		button.setBounds(10,210,400,30);
		add(button);
		button.addActionListener(this);

		/* Checkbox cb1 = new Checkbox("Checkbox 1");
		Checkbox cb2 = new Checkbox("Checkbox 2");
		cb1.setFont(meinfont);
		cb2.setFont(meinfont);
		cb1.setBounds(10,200,200,60);
		cb2.setBounds(250,200,200,60);
		add(cb1);
		add(cb2);
		cb1.addItemListener(this);
		cb2.addItemListener(this); */

		// Mausbewegungs-Listener einschalten.
		addMouseMotionListener(this);

	} // Ende init()

	// ActionListener für "Eingabefeld verändert":
	public void actionPerformed(ActionEvent e) {
		outputText(e.toString(), 350);
	}

	public void itemStateChanged(ItemEvent e) {
		outputText(e.toString(), 350);
	}

	public void mouseMoved(MouseEvent e) {
		outputText(e.toString(),400);
	}

	public void mouseDragged(MouseEvent e) {
		outputText(e.toString(),400);
	}

	public void outputText(String text, int hpos) {
		Graphics g = getGraphics();
		g.clearRect(10,hpos-40,780,80);
		g.drawString(text,10,hpos);
	}

	// Klick auf "Schließen"-Button beendet das Programm
	public void windowClosing(WindowEvent e) { System.exit(0); }

	// Mausklick ins Fenster beendet das Programm ebenfalls.
	public void mouseClicked(MouseEvent e) { }

	// Diese Events werden ignoriert.
	public void windowOpened(WindowEvent e) { System.out.println("Fenster wurde geöffnet.");}
	public void windowClosed(WindowEvent e) { System.out.println("Fenster wurde geschlossen."); }
	public void windowIconified(WindowEvent e) { System.out.println("Fenster wurde ikonifiziert."); }
	public void windowDeiconified(WindowEvent e)
	 {
	  System.out.println("Fenster wurde wiederhergestellt, Inhalt neu zeichnen.");
	 }
	public void windowActivated(WindowEvent e) {}
	public void windowDeactivated(WindowEvent e) {}
	public void mouseEntered(MouseEvent e) {}
	public void mouseExited(MouseEvent e) {}
	public void mousePressed(MouseEvent e) {}
	public void mouseReleased(MouseEvent e) {}

}