【问题标题】:Java: How to add a button to a frame?Java:如何向框架添加按钮?
【发布时间】:2014-01-03 06:54:43
【问题描述】:

我尝试只使用 add.method 将按钮添加到框架。但只有框架弹出。 我没有看到任何按钮。

import javax.swing.*;
public class okd {
    public static void main() {
        JFrame frame = new JFrame();
        JButton b1 = new JButton();
        frame.setSize(500,500);
        frame.add(b1);
        b1.setSize(400,400);
        b1.setVisible(true);
        frame.setVisible(true);
    }
}

【问题讨论】:

标签: java bluej


【解决方案1】:

那里有一个按钮。给它添加一些文字,它会神奇地出现。

public static void main(String[] args){
    JFrame frame = new JFrame();
    JButton b1 = new JButton();
    frame.setSize(500,500);     
    b1.setSize(400,400);
    b1.setVisible(true);
    b1.setText("HelloWorld");
    frame.add(b1);
    frame.setVisible(true);
}//SSCCE1

【讨论】:

  • 感谢您的帮助。但它看起来不像我预期的按钮。 :D 你知道怎么做吗?就像框架上的真正按钮。
  • 你所说的“真正的按钮”是什么意思 - 你能链接一个真正的按钮是什么的例子吗?
  • @user3105629:我不知道你的期望如何,但我可以指导你here。这里的按钮可点击的,点进去看看。
  • 没关系。按钮的大小与整个框架一样大。这就是为什么我认为这不是一个按钮。谢谢各位
  • 我也有同样的问题。按钮覆盖整个框架
【解决方案2】:

您的按钮已添加到框架中。如果您删除 frame.add() 行,您会注意到不同之处。 “问题”在于以下内容。

  • 您没有指定布局导致您的框架使用 默认 BorderLayout 管理器。
  • 您尚未在frame.add() 中指定约束。正因为如此 组件已添加到默认位置 布局为BorderLayout.CENTER。添加到中心的组件 占用尽可能多的空间,因此您的按钮会填满整个框架。

这里有一些教程 on layout managers. 您可能想在某个时候阅读这些教程。

【讨论】:

    【解决方案3】:

    要移除按钮的大外观,您需要在代码中添加布局管理器 像这样:

    import javax.swing.*;
    import java.awt.*;
    public static void main(String[] args)
    {
        JFrame frame = new JFrame();
        JButton b1 = new JButton();
        frame.setSize(500,500); 
        b1.setVisible(true);
        b1.setText("HelloWorld");
        frame.setLayout(new FlowLayout());
        frame.add(b1);
        frame.setVisible(true);
    }
    

    【讨论】:

    • 这似乎没有回答问题 - 问题是问为什么按钮没有出现,但这个答案是“删除按钮的大外观”。
    • @DaveyDaveDave: 伙计!!!查看列表上的最后一条评论。我的回复是那个。
    • 我明白了;不过,这还不是很清楚。 SO 的问答形式并不适合那种对话式的回答​​——它不是一个论坛。理想情况下,这种额外的复杂性将是一个单独的问题,您的答案将是相关的,但这似乎有点矫枉过正,因为 PakkuDon 接受的答案基本上已经说了同样的话。
    猜你喜欢
    • 2018-04-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 2018-10-02
    • 2016-12-06
    • 2014-02-19
    • 2018-12-06
    相关资源
    最近更新 更多