[英]How do I get a JLabel to show over a JButton?
我在JButton的顶部有一个JLabel,但它不会在顶部显示。 注释掉JButton的代码后,将显示JLabel,这意味着它在其中,但在底部。 有没有办法在JButton的顶部显示JLabel?
任何帮助都是极好的。 谢谢!
import java.awt.*;
import javax.swing.*;
public class TestingLabelsOverButtons extends JFrame
{
public static void main (String []args)
{
new TestingLabelsOverButtons();
}
public TestingLabelsOverButtons()
{
super();
setSize(500,500);
Container c = getContentPane();
c.setLayout(null);
c.setBackground(Color.white);
JButton button = new JButton("Button");
button.setBounds(0,0,500,500);
c.add(button);
JLabel label = new JLabel("Label");
label.setBounds(0,0,500,500);
c.add(label);
setVisible(true);
}
}
编辑:
为了澄清起见,我需要在游戏中使用该按钮,单击该按钮时,按钮上方会显示一个JLabel,以显示添加的“得分”。 在我的游戏中,JLabel将比JButton小,因此JButton仍然需要可见。
根据组件的ZOrder摆动绘画组件。 基本上,最后添加的组件先绘制。
因此,您可以通过执行以下操作来实现所需的功能:
c.add(button);
c.add(label);
虽然,我同意这些意见。 你想做什么? 可能有更好的解决方案。 使用setBounds()来定位和调整组件的大小几乎从来不是一个好主意。
对于我的游戏,在单击按钮时,它会需要一个JLabel,以显示添加的“分数”。
如果要强制用户单击按钮以显示分数,则可能应该使用JOptionPane
来显示标签。 否则标签将如何消失? 强迫用户单击同一按钮不是一个很好的UI。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.