# Radius in neuem Fenster eingeben



## Hansi.85 (27. Jan 2009)

Hallo bin neu hier und habe da mal eine Frage!
Ich schreibe gerade an einem Zeichenprogramm, der Kreise, Rechtecke etc zeichnen soll.
Ich kann zwar Kreise zeichnen, aber ich würde gerne das man den Radius in einem neuen Fenster (oder irgendwo im Fenster) eingeben kann.
Weiß leider nicht wie ich das anstellen soll, habt ihr irgendwelche ideen?


----------



## SlaterB (27. Jan 2009)

z.B. JOptionPane

http://java.sun.com/docs/books/tutorial/uiswing/components/dialog.html#features
Getting the User's Input from a Dialog


----------



## Hansi.85 (27. Jan 2009)

hast du vllt ein beispiel code für mich?


----------



## Quaxli (27. Jan 2009)

[schild=1]Lesen bildet![/schild]
Es hilft, wenn man die Links, die man als Antwort gepostet bekommt, auch durchliest. Wenn Du natürlich noch ein Anleitung brauchst, wie man dort dann auf DialogDemo.java klickt......


----------



## Hansi.85 (27. Jan 2009)

Ich habe es ja gelesen. Ich bräuchte eher was anderes. Kann man das auch in das Fenster schon reinpacken? Also nicht das ein neues Fenster kommt, sondern das man das schon im fenster eintippen kann.


----------



## Quaxli (28. Jan 2009)

Dann mußt Du das auch hinschreiben.
Aber je nachdem was Du willst verändert es Dir die Fenstergröße oder die Zeichenfläche, da ein internes Element ja auch Platz braucht.
Oder soll es ein Fenster im Fenster sein? Beschreibe mal genauer, was Du eigentlich möchtest.
Und muß es eigentlich unbedingt ein Fenster/Popup/internes Element sein? Warum machst Du es nicht mit Maussteuerung, wie jedes normale Grafikprogramm?


----------



## Ebenius (28. Jan 2009)

Quaxli hat gesagt.:
			
		

> Beschreibe mal genauer, was Du eigentlich möchtest.


Eine kleine Skizze könnte helfen. Kannst Du in Deine Eigenen Dateien hochladen und hier verlinken.


			
				Quaxli hat gesagt.:
			
		

> Warum machst Du es nicht mit Maussteuerung, wie jedes normale Grafikprogramm?


Bei technischen Zeichnungen ist es nicht unüblich, genaue Werte einzugeben...

Ebenius


----------



## Quaxli (28. Jan 2009)

Ebenius hat gesagt.:
			
		

> Bei technischen Zeichnungen ist es nicht unüblich, genaue Werte einzugeben...
> Ebenius



Das mag sein, aber wir wissen halt nicht, was der TO wirklich machen will. Da er offensichtlich noch Anfänger ist, sollte es erst mal nicht auf 2-stellige Genauigkeit ankommen.
Wie dem auch sei, noch eine Frage, die Hansi.85 uns beantworten könnte.


----------



## Hansi.85 (28. Jan 2009)

Ich habe das jetzt doch mit JOptionPane gemacht und alles läuft, aber das problem ist, dass das Fenster immer öffnet, wenn ich ein Kreis zeichnen will. Habe versucht die Abfrage vom Radius direkt beim Buttonklick zu setzten, aber wenn ich das mache, kann ich den Radius nicht benutzen. 
Ich hatte das erst auch mit der Maussteuerung, aber damit kann man keine genauen werte einstellen.

hatte das erst so:


```
public void mouseClicked(MouseEvent e) {
	
		
		 if (action_state == State.DRAW_RUND) {
			
			startPunkt = new Punkt2d(e.getX(),e.getY());
			
			String radius_s = JOptionPane.showInputDialog(zf, "Geben Sie den Radius der Stuetze an");
			double radius = Double.parseDouble(radius_s);
			
			model.addGeomObject(
				new StuetzeRund(startPunkt,radius,255));
		
			zf.repaint();
		}
                   }
```

aber wenn ich das so mache, dann fragt er mich immer wieder nach dem Radius. Wollte es deshalb in actionPerformed packen. Kann aber die breite dann in MouseClicked nicht benutzen.


```
public void actionPerformed(ActionEvent e) {
	   
		 if (e.getActionCommand().equals("drawRund")){
			action_state = State.DRAW_RUND;
		String radius_s = JOptionPane.showInputDialog(zf, "Geben Sie den Radius der Stütze an");
		double radius = Double.parseDouble(radius_s);
		}
            }
```

kann man das überhaupt so machen oder habt ihr vllt eine andere idee?


----------



## Hansi.85 (29. Jan 2009)

hat sich schon geklärt, habe es hingekriegt


----------

