2017-05-11 34 views
1

我需要幫助我的代碼。我想通過從TextArea中獲取滑塊的值來顯示滑塊的當前位置的值,但它取得它的起始值。 這是我的代碼:Java:JSlider並通過JTextArea獲取它的值

JSlider ThicknessSlider = new JSlider(0,100,50); 
JTextArea text4 = new JTextArea("0"); 
ThicknessSlider.addChangeListener(new ChangeListener(){ 

    @Override 
    public void stateChanged(ChangeEvent e) { 
     // TODO Auto-generated method stub 
     JSlider source=(JSlider)e.getSource(); 
     int value1 = (int)source.getValue(); 
     text4.setText(Integer.toString(value1)); 

     //String thickness1 = text4.getText(); 
    }}); 
String thickness1 = text4.getText(); 
this.thickness = Float.parseFloat(thickness1); 
+0

您在創建滑塊後立即調用'text4.getText()'。如果您想在滑塊狀態更改後調用它,則需要將該代碼移入監聽器,然後將其移出註釋。 –

+0

@SeanVanGorder感謝您的快速響應。是的,我評論它,因爲當我這樣做時,這條線存在問題this.thickness = Float.parseFloat(thickness1); –

回答

0

你需要移動setText和下一行成的ChangeListener。

問題是this引用了該上下文中的ChangeListener。你可以添加一個設置器setThickness到你的班級並打電話給你,或者你可以用YourClassName.this.thickness來指定你的意思是哪個this

+0

有幫助。非常感謝你 :) –

相關問題