我发现了很多像这样的问题但是找不到这个问题的答案。我想制作一个透明的矩形,例如,它只是为了设计而不是为了功能。所以当我点击它的边框时,我想要在我的矩形边框下的另一个窗口中有一个按钮 - 要点击的按钮。可能吗?这是我的代码,但它没有按预期工作。
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。 当点击箭头指向的地方时,我想转到浏览器的第一个标签。 (甚至我的节目也在最前面)