これが私の状況です。いくつかのコンポーネントを含む 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);
}