# Ecken vom JFrame abrunden?



## Guest (25. Aug 2008)

Hi!

ich würde gern die Ecken meines JFrames abrunden. hat jemand eine Idee wie man das hinbekommen könnte und im besten Fall vllt. sogar Beispielcode?

falls es wichtig ist => ich nutze das Synthetica Look And Feel.

Vielen Dank schonmal im vorraus.


----------



## ARadauer (25. Aug 2008)

vielleicht wirst du hier fündig..
http://www.curious-creature.org/200...-and-shadow-for-dialogs-extreme-gui-makeover/


----------



## Gast (25. Aug 2008)

Hi!

Also der Screen sieht geil aus auf der Seite, leider klappt der Code nicht auf nem JFrame :-/

Sonst noch jemand eine Idee?


----------



## Quaxli (26. Aug 2008)

Wenn man nicht nur einfach kopiert, kriegt man recht schnell ein erstes Ergebnis:  :noe: 


```
import javax.swing.*;

public class Test extends JPanel{
	
	public static void main(String[] args){
    new Test();
	}
	
	public Test(){
		JFrame frame = new JFrame("test");
		frame.setSize(300,300);
		frame.setLocation(100,100);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		frame.setLayout(new BorderLayout());
		frame.add(this,BorderLayout.CENTER);
		
		frame.setVisible(true);

	}

	protected void paintComponent(Graphics g) {
	    int x = 34;
	    int y = 34;
	    int w = getWidth() - 68;
	    int h = getHeight() - 68;
	    int arc = 30;

	    Graphics2D g2 = (Graphics2D) g;
	    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
	            RenderingHints.VALUE_ANTIALIAS_ON);

	    g2.setColor(new Color(0, 0, 0, 220));
	    g2.fillRoundRect(x, y, w, h, arc, arc);

	    g2.setStroke(new BasicStroke(3f));
	    g2.setColor(Color.WHITE);
	    g2.drawRoundRect(x, y, w, h, arc, arc); 

	    g2.dispose();
	}
	
	
}
```

<edit>
  Du wolltest das mit einem Frame - sorry. (Wer lesen kann ist im Vorteil). Damit wirst Du das nicht hinkriegen, weil man JFrame nicht auf transparent setzen kann. Mit einem Fenster geht das nur sehr umständlich. 
Google mal nach "Killer Game Programming" und such dort das Kapitel "shaped frames" oder so. Da ist ein Beispiel. Es ist aber keine sehr schöne Lösung.
</edit>


----------

