java - 如何在 Canvas 中添加按钮?

标签 java user-interface video

我有一个 Canvas , Canvas 内有一个网络摄像头。在视频图像的顶部,我想放置一个“按钮”并附加一个事件,以便我可以控制全屏并将其最小化。 但是这个方法报错了,怎么解决呢?

  public static void main(String[] args) 
  { 

        JFrame frame = new JFrame("Overlay"); 
        frame.setBackground(Color.RED);

        // Canvas, to have a video and on top a button    
        final Canvas canvas = new Canvas(); 
        Button button = new Button(canvas); // ERROR
        button.setBounds(10,10, 100, 40);
        canvas.setPreferredSize(new Dimension(200, 200));     

        // Layout
        JPanel content = new JPanel(new GridLayout(2,2));
        content.add(canvas);
        content.add(new JButton("test"));  // for empty cell

        // Show
        frame.add(content);                        
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        frame.pack(); 
        frame.setVisible(true); 

        // Third party tools to capture the webcam, and plugin to our canvas
        final Video video = player.getElementByName("gl"); 
        XOverlay.wrap(video).setWindowID(canvas); 
    } 

最佳答案

它给出错误,因为 Button 类中没有将 canvas 作为参数的构造函数。您可以将按钮添加到要添加 Canvas 的同一 JPanel 中。

关于java - 如何在 Canvas 中添加按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5769241/

相关文章:

git - Mac OS X 上是否有 Git 的可视化客户端允许以图形方式进行交互式 rebase ?

video - 推荐用于视频编码的最佳质量/性能 H264 编码器?

android - 如何将数据从一个AsyncTask发送到另一个AsyncTask?[视频系统]

java.lang.ClassNotFoundException : com. mulesoft.weave.module.writer.Writer

java - 当用户从 a 点拖动到 b 点时在椭圆之间创建一条线

java - 无论我尝试什么,我的框架都是空的

python - 如何使用python在opencv中设置视频捕获格式?

java - 动态添加彼此相邻的按钮-RelativeLayout

java - 将 'Content-Encoding' 设置为 gzip 或 deflate 会导致 java.net.SocketException : Connection reset

java - Hamcrest IsNot 匹配器与包装的自定义匹配器一起使用 - describeMismatch 无法按预期工作