在VB中,您可以使用zOrder
。
在.Net中,它是.SetChildIndex
.
在你问之前,不,在这种情况下我没有使用布局管理器。如果您有两个叠在一起的组件,那么在它们已经显示之后如何更改顺序?
由于空间不足,我有一个按钮稍微重叠在另一个组件(标签)的顶部。我将 JLabel 添加到表单中before按钮,当表单加载时,它看起来很好。然而,当用户单击该按钮时,JLabel 会转到后面,使其一部分消失。有办法让它保持在前面吗?我试过把label.grabFocus()
在按钮的 ActionListener 中,但它不起作用。
默认情况下,Swing 假定组件不重叠,因此可以更有效地重新绘制组件。也就是说,当您更改组件的属性时,只需重新绘制该组件。
当组件在面板上重叠时,您需要告诉面板,以便它可以确保所有组件都按照正确的 ZOrder 重新绘制:
您可以通过覆盖来做到这一点isOptimizedDrawingEnabled()
JPanel 的方法返回false
.
JPanel panel = new JPanel()
{
@Override
public boolean isOptimizedDrawingEnabled()
{
return false;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)