【问题标题】:Variable not accessible across Netbeans Form变量无法跨 Netbeans 表单访问
【发布时间】:2014-01-16 04:04:21
【问题描述】:

我使用 Java Media Framework 用 Ja​​va 编写了一个媒体播放器(是的,我知道它真的很老了!) 在 Netbeans 上,我有这个问题: 我有一个浏览按钮,可以选择文件、初始化播放器并开始播放。问题是,该按钮处于私有无效状态,因此无法通过表单访问播放器。 这是jButton代码:

    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:
}                                        

如何使播放器 pla 跨越 Jpanel,以便面板中的任何按钮(Netbeans 自动将所有 jButtons 设置为私有无效)都可以访问播放器 pla?

P.S.:请有人向我推荐一个用于 Java 媒体的现代 API(Xuggler 除外),最好使用 FFMPEG,但不一定。

谢谢!

【问题讨论】:

  • any 类中的方式相同;将Player pla 声明为类中的字段,而不是此方法中的局部变量。

标签: java netbeans media public


【解决方案1】:

类播放器可以有方法

通过反射,您可以返回任何按钮

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

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-13
    • 2014-06-04
    • 1970-01-01
    相关资源
    最近更新 更多