雖然我熟悉重寫Swing的paintComponent(Graphics g)方法和繪製自定義形狀,但我努力用一些反曲線繪製矩形(請參閱http://imgur.com/ih25X)。使用Swing繪製反曲線?
有誰知道我會如何去創建Shape對象,讓我畫這個?
雖然我熟悉重寫Swing的paintComponent(Graphics g)方法和繪製自定義形狀,但我努力用一些反曲線繪製矩形(請參閱http://imgur.com/ih25X)。使用Swing繪製反曲線?
有誰知道我會如何去創建Shape對象,讓我畫這個?
我相信GeneralPath是一種描述任意形狀的典型方式。
在你的情況下,它看起來像你將不得不與quadTo
descibed lineTo
和兩個(曲線)描述的兩行,然後調用closePath()來表示一個封閉的多邊形,像(只是挑選方便座標東西在這裏,你「可能會想要的東西很划算大):
GeneralPath polygon =
new GeneralPath(GeneralPath.WIND_EVEN_ODD, 4);
polygon.moveTo(2.0, 1.0);
polygon.lineTo(2.0, 5.0);
polygon.quadTo(1.25, 4.75, 1.0, 4.0);
polygon.lineTo(1.0, 2.0);
polygon.quadTo(1.75, 1.75, 2.0, 1.0);
polygon.closePath();
g.draw(polygon);
此外,檢查出這個tutorial on GeneralPath
+1非常好的答案,閱讀一下或兩遍,並完全忘記它:P –
您也可以轉換一個'Shape',如圖所示[這裏](http://stackoverflow.com /一個/230513分之5594424)。 – trashgod
這是一種廉價的解決方法,但我認爲你最好的機會是隻吸引你一些油漆程序進行圖像。 – Aaron
也許使用直線,並允許通過點擊和拖動來彎曲直線,或者如果您使用'draw(Graphics2D g2d,int x,int y)'方法創建自己的形狀類,該方法不會使用直線繪製該形狀在圖形對象的給定點上) –