双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

Java中使用一个Frame,在其构造方法中又写了一个Frame,在构造方法中的Frame不显示

顾染尘 顾染尘 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

package com.SoftWare.serviceComp.video;

import java.awt.BorderLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRootPane;

import com.SoftWare.jcappfr.BaseControl.swing.KnScrollPane;

import root.InnerFrame;
import root.KnTopoDesktop;
import uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent;
import uk.co.caprica.vlcj.player.embedded.EmbeddedMediaPlayer;

/**
*
* 承载所有设备信息的Frame,即主Frame
*
* */
public class VideoInnerFrame extends InnerFrame {
// static MainWindow frame;
VideoMainPnl oView = null;
//*************************************************************
// private static final long serialVersionUID = 1L;
private JPanel contentPane;
//创建播放器的界面需要使用 EmbeddedMediaPlayerComponent
EmbeddedMediaPlayerComponent playerComponent;
public VideoInnerFrame() {

// class MainW extends JFrame {

/**
*
*/

// public MainW() {
// this.setUndecorated(true); // 去掉窗口的装饰
this.getRootPane().setWindowDecorationStyle(JRootPane.NONE);
System.out.println("liuchang ################# 44444444444444444");
contentPane = new JPanel();
contentPane.setLayout(new BorderLayout(250, 175));
setContentPane(contentPane);
JPanel videoPane = new JPanel();
contentPane.add(videoPane, BorderLayout.CENTER);
videoPane.setLayout(new BorderLayout(250, 175));
//在 videoPane 创建之后实例化 playerComponent
playerComponent=new EmbeddedMediaPlayerComponent();
playerComponent.getVideoSurface().addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {//鼠标双击事件
int click = e.getClickCount();
if(click==2) {
VideoPlayer1.normal();//双击放大
}
if(click==1) {
VideoPlayer1.play();//单击播放
}
}
});
//将 playerComponent 添加到 videoPane 中,并指定布局
videoPane.add(playerComponent, BorderLayout.CENTER);
}
//返回媒体播放器的实例
public EmbeddedMediaPlayer getMediaPlayer() {
return playerComponent.getMediaPlayer();
}





// }


// }


//*************************************************************
public VideoInnerFrame(KnTopoDesktop m_KnTopoDesktop, String str,
boolean bol1, boolean bol2, boolean bol3, boolean bol4) {
super(m_KnTopoDesktop, str, bol1, bol2, bol3, bol4);
oView = new VideoMainPnl(m_KnTopoDesktop);
// frame = new MainWindow();
// oView.Load_GUIEnd();
// this.add(oView);
VideoPlayer1 video = new VideoPlayer1();
// VideoPlayer2 video2 = new VideoPlayer2();
// VideoPlayer3 video3 = new VideoPlayer3();
// VideoPlayer4 video4 = new VideoPlayer4();
// VideoPlayer5 video5 = new VideoPlayer5();
// VideoPlayer6 video6 = new VideoPlayer6();
// VideoPlayer7 video7 = new VideoPlayer7();
// VideoPlayer8 video8 = new VideoPlayer8();
// VideoPlayer9 video9 = new VideoPlayer9();

System.out.println("这是第几步");
KnScrollPane knScrollPane = new KnScrollPane();
getContentPane().add(knScrollPane, BorderLayout.CENTER);
knScrollPane.setViewportView(oView);
oView.add(video);
// oView.add(frame);
// frame.setBounds(350, 55, 250, 175);
// this.add(frame,BorderLayout.NORTH);
this.setResizable(false);
this.setSize(800, 600);
this.setVisible(true);
}

// public VideoInnerFrame() {
// // TODO Auto-generated constructor stub
// }

/**
*
*/
private static final long serialVersionUID = 1L;


}

package com.SoftWare.serviceComp.video;

import java.awt.EventQueue;


public class VideoPlayer1 {

//将声明转移到类中,并设为 static
// static MainWindow frame;
// static MainW frame;
static VideoInnerFrame frame;
public void video() {
System.out.println("liuchang @################## 3333333333333");
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
// frame = new MainWindow();
frame = new VideoInnerFrame();
// frame = frame1.new MainW();
frame.setVisible(true);
frame.getMediaPlayer().prepareMedia("E:\\C++\\03\\test.mp4");
frame.getMediaPlayer().toggleFullScreen();
frame.setBounds(350, 55, 250, 175);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
//播放
public static void play() {
frame.getMediaPlayer().play();
}
public static void normal() {
// if(frame.getExtendedState() != frame.MAXIMIZED_BOTH)
// frame.setExtendedState(frame.MAXIMIZED_BOTH);
// else
// frame.setExtendedState(frame.NORMAL);
}
}

构造方法的使用有一点不好就是双击放大和单击播放不能实现
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
顾染尘
Eclipse 58,439 成员 49,457 内容