簡體   English   中英

如果 JSlider 更改,則更新 JPanel 邊框

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM