1

このような質問をたくさん見つけましたが、まさにこの質問の答えが見つかりません。たとえば、透明な長方形を作成したいのですが、機能性ではなくデザインのためだけです。そのため、その境界線をクリックすると、長方形の境界線の下にある別のウィンドウにボタンが表示され、クリックされるボタンが表示されます。出来ますか?これは私のコードですが、意図したとおりに動作しません。

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. 矢印が指す場所をクリックすると、ブラウザの最初のタブに移動します。(私のプログラムも上にあります)

4

0 に答える 0