使用paint()方法绘制JPanel

时间:2017-01-27 02:09:21

标签: java swing jpanel paint

我需要扩展一个JPanel,以便在一定条件下,它在整个可用空间上绘制一个半透明的覆盖层。

从其他答案我收集到的情况是,在这种情况下,我应该覆盖paint()而不是paintComponent(),,这样我可以在绘制组件后绘制,但我也没有运气覆盖。

覆盖paintComponent()将在JPanel上隐藏组件。 覆盖paint()会在它们前面绘制,但是将鼠标移到JButtons上会重新绘制它们,它们就会显示出来。

例如,这可行,但如果悬停在JButtons,则@Override public void paint(Graphics g){ super.paint(g); //also tried without this call Graphics2D g2d = (Graphics2D)g; g2d.setColor(BK_COLOR); g2d.fillRect(0,0,getWidth(), getHeight()); } 会出现:

<div class="container">

我做错了什么?

0 个答案:

没有答案