Keep getting an Error "Component must be displayable"

Hi I keep getting an error "Component must be displayable" and cant solve it I looked at the Questions on SO and tried the solutions but to no avail. I'm trying to implement a JVLC player the error occurs when I try " .setVideoOutput(canvas1) " in the Vid class here is the main class. import java.awt.Component; import java.awt.Toolkit; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author Shane */ public class Main extends javax.swing.JFrame { private LessonPanel lesson; private MultiChoice multiChoice; private Vid video; private int xSize; private int ySize; public Main() throws InterruptedException { Toolkit tk = Toolkit.getDefaultToolkit(); xSize = ((int) tk.getScreenSize().width/2); ySize = ((int) tk.getScreenSize().height/2); this.setSize(xSize, ySize); this.setVisible(true); System.out.print("\nIsDisplayable "+this.isDisplayable()); addVideo(); WindowListener listener = new WindowAdapter() { @Override public void windowClosing(WindowEvent w) { System.exit(0); } }; this.addWindowListener(listener); } public void next(String method) throws InterruptedException{ if(method.equalsIgnoreCase("home")){home();} else if(method.equalsIgnoreCase("Multi")){addMultiChoice();} else if(method.equalsIgnoreCase("Video")){addVideo();} else if(method.equalsIgnoreCase("Visual")){addVisual();} } public void removePanels(Component Comp,String doNext) throws InterruptedException { this.remove(Comp); this.repaint(); next(doNext); } public void home() throws InterruptedException { lesson = new LessonPanel(this); this.add(lesson); this.validate(); this.repaint(); } public void addMultiChoice() throws InterruptedException { multiChoice = new MultiChoice(this); this.add(multiChoice); this.validate(); this.repaint(); } public void addVideo() throws InterruptedException { this.invalidate(); video = new Vid(); this.add(video); this.validate(); this.repaint(); } public void addVisual() throws InterruptedException { } public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { try { new Main().setVisible(true); } catch (InterruptedException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } } }); } } and this is the the class that is giving me the error import java.awt.Canvas; import java.awt.Color; import org.videolan.jvlc.JVLC; public class Vid extends javax.swing.JPanel { private static String filename ="C:/Users/Public/Videos/Sample Videos/Wildlife.wmv"; private Canvas canvas; public Vid() { init(); } public void init(){ System.out.print("\nReady to play video"); canvas = new java.awt.Canvas(); canvas.setBackground(Color.red); canvas.setSize(400, 400); canvas.setVisible(true); add(canvas); String[] arg = new String[4]; arg[0] = "--intf=dummy"; arg[1] = "--ignore-config"; arg[2] = "--no-plugins-cache"; arg[3] = "--plugin-path=plugins"; JVLC jvlc = new JVLC(arg); jvlc.play(filename); jvlc.setVideoOutput(canvas); } } Any help would be great!! thanks in advance!!

以上就是Keep getting an Error "Component must be displayable"的详细内容,更多请关注web前端其它相关文章!

赞(0) 打赏
未经允许不得转载:web前端首页 » JavaScript 答疑

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏