2014-01-16 8 views
-1

Я написал медиа-плеер на Java, используя Java Media Framework (да, я знаю, что это действительно старый!) на Netbeans, и у меня есть эта проблема: У меня есть кнопка просмотра, которая выбирает файл, инициализирует проигрыватель и начинает воспроизведение. Проблема в том, что кнопка находится в частной пустоте и, следовательно, игрок не доступен через форму. Это код JButton:Переменная недоступна через форму Netbeans

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {           
Player pla; 
try{ 
    FileDialog fd = new FileDialog(this, "Select File", FileDialog.LOAD); 
fd.show(); 
String filename = fd.getDirectory() + fd.getFile(); 
pla=Manager.createPlayer(new MediaLocator("file:///"+filename)); 


pla.start(); 

} 
catch (Exception e){ 
    System.out.println(e.toString()); 
} 
    // TODO add your handling code here: 
}           

Как сделать игрок пнула через JPanel, так что любая кнопка на панели (Netbeans автоматически устанавливает все JButtons в частном пустоты) может получить доступ к плееру пнул?

P.S .: Кто-то, пожалуйста, предложите мне современный API (кроме Xuggler) для Java-носителей, желательно, используя FFMPEG, но не обязательно.

Спасибо!

+0

Тот же, как вы бы в * любой * класса; объявите 'Player pla' как поле в вашем классе, а не локальную переменную внутри этого метода. –

ответ

0

Класс игрок может иметь метод

К размышлению вы можете вернуть любую кнопку

JButton getButton(String nameButton) throws Exception{ 
    Field field = clazz.getClass().getField(nameButton); 
    return (JButton) field.get(this); 

} 
Смежные вопросы