如果我使用Skin,Control和Behavior類創建自定義控件,是否可以在Java Scene Builder中顯示我的自定義屬性?如果有人已經這樣做了,你能解釋一下嗎?我在Skin和Control子類中都有屬性,但沒有成功。您是否可以在具有自定義控件的Java Scene Builder中看到自定義屬性?
感謝
JEC
編輯1:
,以便其他人可以按照沿,這裏是一個樣本 '控制' 類場景生成器能夠檢測。
public class DisplayControl extends Control
private ObjectProperty m_BackgroundColor;
public DisplayControl()
{
m_Skin = new DisplaySkin(this);
m_BackgroundColor = new SimpleObjectProperty<>(new Color(0.5,
0.5,
0.5,
1));
setSkin(m_Skin);
}
public ObjectProperty<Color> backgroundColor()
{
return m_BackgroundColor;
}
/**
* @return the m_BackgroundColor
*/
public Color getBackgroundColor()
{
return m_BackgroundColor.get();
}
/**
* @param BackgroundColor the BackgroundColor to set
*/
public void setBackgroundColor(Color backgroundColor)
{
if (backgroundColor != m_BackgroundColor.get())
{
m_BackgroundColor.set(backgroundColor);
m_Skin.setBackgroundColor(backgroundColor);
}
}
}
好吧,我想我有這部分想通了。所以你需要在'Control'類中擁有這個屬性。確保'Control'類的jar已構建,然後導入到Scene Builder中。然後,在放置「控制」後,屬性將在「屬性」窗口的「自定義」下列出。在我的情況下,它的顏色和字段仍然是不可編輯的,所以我仍在處理這個問題。 – jecjackal 2014-10-07 22:54:34