2013-04-23 1 views
0

Просто небольшая проблема, но я не знаю, как ее исправить, и Papa google тоже не помогла. Я рисую прямоугольник с javafx2, и я хочу иметь закругленные углы. Однако прямоугольник показан со всеми свойствами, за исключением закругленных углов. Вот мой код:JavaFX2.x Прямоугольные округлые углы не показаны

rectPasse = new Rectangle(); 
    rectPasse.setTranslateX(-160); 
    rectPasse.setTranslateY(-160); 
    rectPasse.setWidth(54); 
    rectPasse.setHeight(140); 
    rectPasse.setArcWidth(5); 
    rectPasse.setArcWidth(5); 
    rectPasse.setFill(Color.RED); 

позже я добавить прямоугольник на сцену:

screensController.getChildren().add(rectPasse); 

Как я уже сказал, это показано perfectely, просто не закругленные углы.
Если вы знаете, почему, пожалуйста, дайте мне знать.

ответ

0

Это только простая опечатка, вы установите ширину дуги дважды:

rectPasse.setArcWidth(5); 
rectPasse.setArcWidth(5); 

Вместо этого, вы должны установить и ширину дуги и высоту:

rectPasse.setArcWidth(5); 
rectPasse.setArcHeight(5); 
+0

Большое спасибо за помощь. Он, наконец, работает, но я должен установить ширину дуги, прежде чем установить arcHeight. Я должен проверить, какая версия javafx jar у меня есть, и если есть ошибка. Ну, по крайней мере, что-то странно. Но тем не менее - Большое спасибо – Daniel

1

Заменить второй

rectPasse.setArcWidth(5); 

С

rectPasse.setArcHeight(5); 

5 слишком малое значение, чтобы заметить, 10 или более будет лучше.

0

я использую это:

// bevel 
    rect.setArcHeight(15); 
    rect.setArcWidth(15);