2013-05-16 3 views
0

JSlider 값을 읽는 방법?JSlider 값 읽기

내 프로그램에서 슬라이더를 사용하고 있는데, 이전에는 사용하지 않았지만 변경 사항을 표시하는 데 어려움을 겪고 있습니다.

문제는 JLabel은 프로그램을 열 때 (50) 슬라이더의 값을 표시하지만 레이블을 변경하지 않으면 슬라이더의 값을 표시합니다.

슬라이더를 설정 (setUpMenuItems 클래스) :

sensitivitySlider2 = new JSlider();//direction , min , max , current 
sensitivitySlider2.setFont(new Font("Calibri",Font.BOLD,10)); 
sensitivitySlider2.setMajorTickSpacing(10); 
sensitivitySlider2.setMinorTickSpacing(1); 
sensitivitySlider2.setPaintLabels(true); 
sensitivitySlider2.setPaintTicks(true); 
sensitivitySlider2.setPaintTrack(true); 
sensitivitySlider2.setAutoscrolls(true); 
sensitivitySlider2.setBackground(Color.WHITE); 

sensitivitySlider2.setBounds (15,200,250,100); 

propertiesPanel.add(sensitivitySlider2); 

리스너 설정 :

private void registerComponentsForEvents() 
    { 
    // Register all the JButton objects for action events 

    miniButton.addActionListener (this); 
    applyButton.addActionListener (this); 
    exitButton.addActionListener (this); 
    sensitivitySlider2.addChangeListener(this); 


    } 

창 수신기를 콘크리트를 만드는 방법을 선언 여기

코드입니다 :

void addWindowListener(Window w) { 
     w.addWindowListener(this); 
    } 

//React to window events. 


    public void windowOpened(WindowEvent e) { 
    } 

    public void windowClosing(WindowEvent e) { 
    } 

    public void windowClosed(WindowEvent e) { 
    } 

    public void windowActivated(WindowEvent e) { 
    } 

    public void windowDeactivated(WindowEvent e) { 
    } 

    public void windowDeiconified(WindowEvent e) { 
    } 

    public void windowIconified(WindowEvent e) { 
    } 

ChangeEvent를 : 나는 거기에 내 생각을 공유,

sleepSense2 = String.valueOf(sleepSense); 
+1

* "코드는 다음과 같습니다."* 지구상에서 'WindowListener'는이 작업과 관련이 있습니까? 더 빨리 도움을 받으려면 [SSCCE] (http://sscce.org/)를 게시하십시오. –

+0

@AndrewThompson 나는 Jslider를 설정하는 자습서에서 가져 왔고, 나는 슬림 한 지식으로 빨대를 움켜 쥐고있다. – Phil

+1

링크를 읽으면 지식이 뚱뚱해진다. JSlider는 두개의 대문자를 가지고있다. 철자가 맞지 않으면 복사/붙여 넣기를하십시오. –

답변

1

이 오래된 주제이지만 :

public void stateChanged(ChangeEvent e) { 
      JSlider source = (JSlider)e.getSource(); 
      if (!source.getValueIsAdjusting()) { 
       int sleepSense = (int)source.getValue(); 


    } 
}  

다음이 줄은 값으로 JLabel의를 설정합니다.

나는 값을 얻기 위해 다음과 같은 코드를 작성할 필요가 없다고 생각합니다.

if (!source.getValueIsAdjusting()) { 
      int sleepSense = (int)source.getValue(); 

당신은 단지와 잘 될 수 있습니다 (if 문 사용)

JSlider mySlider= new JSlider(); 
mySlider.addChangeListener(new ChangeListener(){ 
      public void stateChanged(ChangeEvent e) { 
       int sleepSense = mySlider.getValue(); 
    } 

는 다음 프로그램에서 어느 곳에서나 값 "sleepSense"를 사용할 수 있습니다 다음과 같습니다.