繁体   English   中英

Java JXBrowser:是否可以绘制JXBrowser组件?

[英]Java JXBrowser: Is it possible to draw over the JXBrowser Component?

我只是想知道是否可以在JXBrowser组件上绘画? 我在互联网上搜索过,发现使用过的BrowserView继承了paintcomponents等。但我似乎无法让它工作。

这是代码:

        public test() {
    browser = new Browser();
    view = new BrowserView(browser);

    JPanel panel = new JPanel();
    panel.setLayout(new BorderLayout());
    panel.add(view, BorderLayout.CENTER);

    test = new JButton("Open FOE");
    test.addActionListener(this);
    test1 = new JButton("Helpen");
    test1.addActionListener(this);
    test1.setMaximumSize(new Dimension(90, 20));
    JPanel panel1 = new JPanel();
    panel1.setLayout(new BoxLayout(panel1, BoxLayout.Y_AXIS));
    panel1.add(test);
    panel1.add(Box.createRigidArea(new Dimension(0, 15)));
    panel1.add(test1);

    JPanel panel2 = new JPanel();
    panel2.setLayout(new BorderLayout());
    panel2.add(panel, BorderLayout.CENTER);
    panel2.add(panel1, BorderLayout.EAST);

    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    frame.add(panel2);
    frame.setSize(1500, 1000);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);

}

它现在看起来如何:

第一

我想要实现的目标: 第二

使用玻璃窗格,示例代码片段:

JPanel glassPane = new JPanel()
    {
      @Override
      protected void paintComponent(Graphics g)
      {
        super.paintComponent(g);
        g.drawString("Test",100,100);
        g.setColor(Color.BLUE);
        g.drawRect(300,300,300,300);
      }
    };

    glassPane.setOpaque(false);   
    frame.getGlassPane().setVisible(true);

    frame.setGlassPane(glassPane);
    frame.setVisible(true);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM