0

これが私の状況です。いくつかのコンポーネントを含む jscrollpane があります。ボタンを押すと、jscrollpane を覆う半透明の jpanel が表示されます。コンポーネントまたはスクロールバーの上にマウスを置くと、それらが再び表示されます (あたかも半透明のレイヤーの下に留まるのではなく、その上に来たかのように)。

このコードでコンポーネントを無効にして、コンポーネント部分を修正しました。

Component[] com = jPanel2.getComponents();
        for (int a = 0; a < com.length; a++) {
            com[a].setEnabled(false);
        }

私がまだ抱えている問題は、スクロールバーにカーソルを合わせると、スクロールバーのつまみがまだ表示されることです。スクロールバーのつまみを無効にする必要があると思います。

誰でもこれで私を助けることができますか?

透明層に使用するコード(メソッド)を追加しました。

透明層

public class TransparentPanel extends JPanel {
{
    setOpaque(false);
}
/**
 *
 * @param g
 */
@Override
public void paintComponent(Graphics g) {
    g.setColor(getBackground());
    Rectangle r = g.getClipBounds();
    g.fillRect(r.x, r.y, r.width, r.height);
    super.paintComponent(g);
}
4

0 に答える 0