[英]Update JPanel border if JSlider changes
如果我通過JSlider
更改類變量,有人可以告訴我一般如何更改JPanel
/ TitledBorder
某些屬性嗎?
例如,我有類變量“number”,並通過滑塊上的stateChanged
事件更改此變量。 現在我想實現數字的值顯示在面板的標題邊框內。
panelX = new JPanel(new GridLayout(3,0));
panelX.setBorder(new TitledBorder("P0: X = "));
frame.add(panelX);
slider_x = new JSlider(0, 100);
slider_x.addChangeListener(this);
panelX.add(slider_x);
@Override
public void stateChanged(ChangeEvent e)
{
Object source = e.getSource();
System.out.println(source);
hasChanged = true;
if(source instanceof JSlider) {
update();
}
}
是否可以訪問附加事件觸發滑塊的面板的標題邊框?
您可以簡單地為面板設置新邊框。
@Override
public void stateChanged(ChangeEvent e)
{
Object source = e.getSource();
System.out.println(source);
hasChanged = true;
if(source instanceof JSlider) {
panelX.setBorder(new TitledBorder("P0: X = " + ((JSlider) source).getValue());
update();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.