# NetBeans 5 und GUI-Editor "Mantisse"



## haseluenne (4. Jul 2006)

Hallo! Irgendwie komme ich mit dem neuen Editor noch nicht ganz klar. Habe mir nach http://www.netbeans.org/kb/50/quickstart-gui.html ein neues Projekt erstellt und einen Button auf die Oberfäche gebracht. Dieses Button habe ich dann im Menü via "action" den "user code" 


```
System.out.println("test")
```
 verpasst. Aber er mag nicht, folgende Fehlermeldung kommt beim Build:

C:\Dokumente und Einstellungen\....\ContactEditorUI.java:34: 'void' type not allowed here
        jButton1.setAction(System.out.println("test"));

Wie kommt das?


----------



## lin (4. Jul 2006)

das liegt weder an netbeans noch an matisse, guck dir mal setAction an
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JTextField.html#setAction(javax.swing.Action)

müsste dann wenn schon z.B. so aussehen 


```
jButton.setAction(new PrintHello());
```

und dann in ner Klasse die von AbstractAction erbt definierst du was geschehen soll.
also

```
class PrintHello extends AbstractAction {
    
    public PrintHello() {
	super("Print Hello");
    }
    
    public void actionPerformed(ActionEvent ae) {
	System.out.println("Hello");
    }
}
```


----------



## Guest (4. Jul 2006)

Ah, super, vielen Dank, hatte sonst immer mit dem ActionListener und dem ActionEvent gearbeitet und da lief das etwas anders.


----------



## lin (4. Jul 2006)

mit nem actionListener kannst dus natürlich immer noch machen. 
Dazu wählst du den Button: auf der rechten Seite erscheinen die Daten des Buttons unter Properties wie z.B. font, background, componentPopupMenu, etc. in dieser Komponente scrollst du etwas nach unten und unter "Other Properties" siehst du dann auch "actionCommand". Dort schreibst du rechts dein actionCommand rein, z.B. "HELLO". Dann klickst du oben neben "Properties" auf "Events" und es erscheinen alle möglichen events für den Button. Da klickst (Doppelklick) du zuoberst auf actionPerformed und netbeans springt direkt zum Code für den Button. Dann kannst du dort so etwas in der Art einfügen


```
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
	if(evt.getActionCommand().equals("HELLO")) {
	    System.out.println("Hallo!");
	}
}
```
und fertig


----------



## haseluenne (4. Jul 2006)

Danke für die ausführliche Info, werde es nachher zuhause ausprobieren.


----------

