话说 swing已经是过去式了,你确定你要研究,你要研究swing还不如研究下 javafx
3 不规则窗体里添加flash视频
三叔好!
关于那个不规则窗体我又另外修改了一点,直接在Container里加背景图片JLabel和flash视频,
出现了这样的效果。还是只有声音看不见视频。
我用的是AWTUtilities.setWindowOpaque(frame, false);这种方法把frame窗体和flash视频组件一起透明化了。
请问怎么让flash组件显现出来? 我用fp.setVisible(true);和fp.setOpaque(true);都没用。
我把flash组件加到另一个JLabel里再加到container里也没用。
各种基本方法用遍了都没用。
一下是源代码:
import chrriis.common.*;
import chrriis.dj.nativeswing.swtimpl.NativeInterface;
import chrriis.dj.nativeswing.swtimpl.components.JFlashPlayer;
import java.awt.event.MouseEvent;
import com.sun.awt.AWTUtilities;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.MouseAdapter;
import java.net.URL;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
public class test {
public test(){
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setUndecorated(true);
frame.setVisible(true);
JFlashPlayer fp=new JFlashPlayer();
fp.load(getClass(), "男枪.swf");
fp.setBounds(150,200,640,480);
URL url=getClass().getResource("背景1.png");
Image img = new ImageIcon(url).getImage();
Icon icon = new ImageIcon(url);
AWTUtilities.setWindowOpaque(frame, false);
frame.setBounds(200, 200,900,900);
Container c=frame.getContentPane();
JLabel tu =new JLabel();
tu.setIcon(icon);
tu.setHorizontalAlignment(SwingConstants.CENTER);
c.add(fp);
c.add(tu);
JPanel pane = new JPanel() {
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(img, 0, 0, this) ;
}
};
MouseAdapter moveWindowListener = new MouseAdapter() {
public Point lastPoint=null;
public void mousePressed(MouseEvent e) {
lastPoint = e.getLocationOnScreen();
}
public void mouseReleased(MouseEvent e) {
Point point = e.getLocationOnScreen();
int offsetX = point.x - lastPoint.x;
int offsetY = point.y - lastPoint.y;
Rectangle bounds = frame.getBounds();
bounds.x += offsetX;
bounds.y += offsetY;
frame.setBounds(bounds);
lastPoint = point;
}
};
frame.addMouseListener(moveWindowListener);
}
public static void main(String[] args) {
UIUtils.setPreferredLookAndFeel();
NativeInterface.open();
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new test();
}
});
NativeInterface.runEventPump();
}
}
- 1 关注
- 收藏,22499 浏览
- 边缘人 提出于 2018-08-08 12:35