我想在我的框架中添加一个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();
}
}
答案 0 :(得分:1)
花点时间阅读代码......
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(layout);
,指定GroupLayout
作为框架的布局管理器。然后,您将Flash播放器添加到帧中,尝试使用BorderLayout
约束,该约束与GroupLayout
不兼容(并且显然被忽略)
为什么你的组件实际上没有表现出任何数量的因素,我猜测flash播放器要么没有首选大小,要么GroupLayout
,不知道还有什么用呢,忽略了组件
尝试在表单设计器
中将框架的布局设置为BorderLayout