Java 闪存文件不显示

Java 闪存文件不显示,java,swing,Java,Swing,我想在我的框架中添加一个flash文件,它工作得很好,但是当我使用netbeans制作框架时,flash文件不再工作,但是当我删除“initComponent()”方法时,它工作得很好,但我不想删除此方法,为什么此方法使flash文件不工作或阻止将其添加到框架中 代码如下: public class SimpleFlashExample_1 extends JFrame{ public SimpleFlashExample_1() { initComponents();

我想在我的框架中添加一个flash文件,它工作得很好,但是当我使用netbeans制作框架时,flash文件不再工作,但是当我删除“initComponent()”方法时,它工作得很好,但我不想删除此方法,为什么此方法使flash文件不工作或阻止将其添加到框架中

代码如下:

public class SimpleFlashExample_1 extends JFrame{ 

 public SimpleFlashExample_1() {

   initComponents();

    JFlashPlayer flashPlayer = new JFlashPlayer();
    flashPlayer.load(getClass(), "/clientserver/fl.swf");
    add(flashPlayer, BorderLayout.CENTER);
  }

  private void initComponents() {

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 675, Short.MAX_VALUE)
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 475, Short.MAX_VALUE)
    );

    pack();
}

  public static void main(String[] args) {

    UIUtils.setPreferredLookAndFeel();
    NativeInterface.open();

    SwingUtilities.invokeLater(new Runnable() {
            @Override
      public void run() {

        new SimpleFlashExample_1().setVisible(true);
    }
   });
    NativeInterface.runEventPump();
  }

}

花点时间通读代码

public SimpleFlashExample_1() {
    // 1...
    initComponents();
    JFlashPlayer flashPlayer = new JFlashPlayer();
    flashPlayer.load(getClass(), "/clientserver/fl.swf");
    // 3...
    add(flashPlayer, BorderLayout.CENTER);
}

private void initComponents() {
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

    // 2....
    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 675, Short.MAX_VALUE)
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGap(0, 475, Short.MAX_VALUE)
    );

    pack();
}
首先,调用
initComponents
initComponents
调用
getContentPane().setLayout(布局)
,指定一个
GroupLayout
作为框架的布局管理器。然后将flash player添加到帧中,尝试使用
边界布局
约束,该约束将与
组布局
不兼容(显然被忽略)

为什么你的组件没有真正显示出来,归结到很多因素,我猜测flash播放器要么没有首选的大小,要么是
组布局
,不知道还有什么其他的处理方法,忽略了组件


尝试在表单设计器中将框架的布局设置为
BorderLayout

能否请您修改并重新表述您的问题,使问题更清晰?@jeroenningelbrecht:我编辑了这个问题。希望现在一切都清楚了