2016-09-22 86 views
0

在它是很容易的代碼:JavaFX的圓形圖像

// Clip 
    Rectangle rect = new Rectangle(168, 168); 
    rect.setArcHeight(30); 
    rect.setArcWidth(30); 
    rect.setEffect(new Reflection()); 
    imageView.setClip(rect); //where imageView is an ImageView 

我試圖用SceneBuilder做到這一點,但我不知道怎麼 。 。任何幫助將不勝感激。

回答

0

如果我充分理解你正在試圖填充一個節點(如箱子或盒子或窗格或任何你想要的)你的對象矩形,我認爲這是不可能的從場景生成器做這件事,你必須從代碼中執行。 如果你想這樣做,你已經把它添加到subScene我想!

PerspectiveCamera camera = new PerspectiveCamera(); 
ImageView imageview = new ImageView(); 

Rectangle rect = new Rectangle(168, 168); 
rect.setArcHeight(30); 
rect.setArcWidth(30); 
rect.setEffect(new Reflection()); 

imageview.setClip(rect); 
Group g = new Group(imageview); 
SubScene subSceneInsertion = new SubScene(g, 919, 600, true, SceneAntialiasing.BALANCED); 
subSceneInsertion.setFill(Color.DARKSLATEGREY);//yourcolour 
subSceneInsertion.setCamera(camera); 
Group groupForSubScene = new Group(subSceneInsertion); 
groupForSubScene.autoSizeChildrenProperty().setValue(Boolean.TRUE); 
groupForSubScene.setAutoSizeChildren(true);     
hBoxForRectangle.getChildren().add(groupForSubScene); 
+0

從5行我們到了17線code.Why我需要使用一個子場景代碼?怎麼能解決問題嗎?我的意思是我必須寫代碼和兩個fxml..Also提的是2D形狀不需要'SceneAntialising'。 – GOXR3PLUS