我有一个JLabel,它位于JButton的顶部,但它不会出现在顶部。当JButton的代码被注释掉时,就会显示JLabel,这意味着它在那里,但在底部。有办法在JLabel的顶部显示JButton吗?
任何帮助都会很棒。谢谢!
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仍然需要是可见的。
发布于 2013-06-11 21:26:55
基于组件的ZOrder的Swing绘图组件。基本上,添加的最后一个组件是先绘制的。
这样你就可以通过这样做来实现你想要的:
c.add(button);
c.add(label);
不过,我同意你的意见。你想做什么?也许有更好的解决办法。使用setBounds()来定位和调整组件大小几乎从来都不是一个好主意。
我需要这个为我的游戏,当按钮被点击,一个JLabel将显示在按钮顶部,以显示一个“分数”,是添加。
如果您要强制用户单击一个按钮来显示分数,那么您可能应该使用JOptionPane
来显示标签。否则,标签将如何消失?强迫用户点击同一个按钮并不是一个很好的UI。
https://stackoverflow.com/questions/17058159
复制相似问题