首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何让JLabel显示在JButton上?

如何让JLabel显示在JButton上?
EN

Stack Overflow用户
提问于 2013-06-12 05:22:00
回答 1查看 6.5K关注 0票数 0

我有一个JLabel,它位于JButton的顶部,但它不会出现在顶部。当JButton的代码被注释掉时,就会显示JLabel,这意味着它在那里,但在底部。有办法在JLabel的顶部显示JButton吗?

任何帮助都会很棒。谢谢!

代码语言:javascript
运行
复制
    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仍然需要是可见的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-12 05:26:55

基于组件的ZOrder的Swing绘图组件。基本上,添加的最后一个组件是先绘制的。

这样你就可以通过这样做来实现你想要的:

代码语言:javascript
运行
复制
c.add(button);
c.add(label);

不过,我同意你的意见。你想做什么?也许有更好的解决办法。使用setBounds()来定位和调整组件大小几乎从来都不是一个好主意。

我需要这个为我的游戏,当按钮被点击,一个JLabel将显示在按钮顶部,以显示一个“分数”,是添加。

如果您要强制用户单击一个按钮来显示分数,那么您可能应该使用JOptionPane来显示标签。否则,标签将如何消失?强迫用户点击同一个按钮并不是一个很好的UI。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17058159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档