2013-08-09 1 views
0

Я пытаюсь создать плеер в java.Получить значение при нажатии jprogressbar

Сделали SeekBar с использованием JProgressBar, как показано на this link в ответ Эндрю Томпсон,

я смог добавить MouseListener и обнаружения нажмите на JProgressBar, но как я могу получить выбранное значение JProgressBar к которому я будет искать мой бар?

Я попытался,

progressBar.addMouseListener(new MouseAdapter() {    
    public void mouseClicked(MouseEvent e) { 
      int v = progressBar.getSelectedValue(); 
     jlabel.setText("----"+v); 
     }          
}); 

Но не работает, как я ожидал, даже не мог найти что-нибудь по интернету.

Пожалуйста, помогите мне. Спасибо за ваше время и усилия, очень благодарен.

ответ

2

Возможно, вам придется рассчитать местоположение на JProgressBar, основываясь исключительно на координатах щелчка мыши. Вы можете существенно:

progressBar.addMouseListener(new MouseAdapter() {    
    public void mouseClicked(MouseEvent e) { 
     int v = progressBar.getValue(); 
     jlabel.setText("----"+v); 

     //Retrieves the mouse position relative to the component origin. 
     int mouseX = e.getX(); 

     //Computes how far along the mouse is relative to the component width then multiply it by the progress bar's maximum value. 
     int progressBarVal = (int)Math.round(((double)mouseX/(double)progressBar.getWidth()) * progressBar.getMaximum()); 

     progressBar.setValue(progressBarVal); 
    }          
}); 
+0

извините за задержку .. позвольте мне попробовать. –

+0

Perfect. Очень ценю это. Спасибо.!! –

+0

@jeez Нет проблем! – initramfs