我在屏幕上绘制矩形时遇到问题。我的jpanel类中有paintComponent方法,我想在其中绘制一个矩形。看起来像这样:
public void paintComponent( Graphics g ) {
super.paintComponent( g );
g.setColor( Color.yellow );
g.fillRect( 0, 140, 100, 100 );
}
问题是我在要绘制的面板上添加了两个面板。子面板始终显示在顶部,而rect则绘制在面板下方。我怎样才能使矩形画在前面?
最佳答案
如果绘制的JPanel位于容器中,则不可能将其放置在“前面”。您可以通过在子组件上调用setOpaque(false)
使其不透明,但是容器仍将始终位于其子组件之后。
如果您绝对希望某个组件位于另一个组件之上,请考虑使用JLayeredPane或考虑在顶层窗口的玻璃窗格上绘制。
关于java - fillRect未显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12487946/