如何使JComponent点击?

时间:2014-05-05 21:42:44

标签: java swing awt transparency click-through

我发现了很多像这样的问题但是找不到这个问题的答案。我想制作一个透明的矩形,例如,它只是为了设计而不是为了功能。所以当我点击它的边框时,我想要在我的矩形边框下的另一个窗口中有一个按钮 - 要点击的按钮。可能吗?这是我的代码,但它没有按预期工作。

public class ClickThroughWindow {

    public static final int RECT_SIZE = 80;

    public static void main(String[] args) {

        TestPanel panel = new TestPanel();
        panel.setPreferredSize(new Dimension(RECT_SIZE, RECT_SIZE));
        panel.setOpaque(false);

        JFrame frame = new JFrame("Crossfire");
        // Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
        // frame.setLocation(dim.width / 2 - frame.getSize().width / 2 -
        // RECT_SIZE
        // / 2, dim.height / 2 - frame.getSize().height / 2 - RECT_SIZE
        // / 2);
        frame.setUndecorated(true);
        frame.setBackground(new Color(0, 0, 0, 0));
        frame.add(panel);
        frame.setAlwaysOnTop(true);
        frame.pack();
        frame.setVisible(true);
    }
}

public class TestPanel extends JPanel {

    private static final long serialVersionUID = 2446519137290816513L;

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2d = (Graphics2D) g.create();
        g2d.setColor(getBackground());
        g2d.setStroke(new BasicStroke(40));
        g2d.setColor(Color.BLACK);
        g2d.drawRect(0, 0, getWidth() - 1, getHeight() - 1);
        g2d.dispose();
    }
}

这是一个例子:postimg.org/image/t4gzczzc3。 当点击箭头指向的地方时,我想转到浏览器的第一个标签。 (甚至我的节目也在最前面)

0 个答案:

没有答案