Java:如何向框架添加按钮?

Posted

技术标签:

【中文标题】Java:如何向框架添加按钮?【英文标题】:Java: How to add a button to a frame? 【发布时间】: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);
    

【问题讨论】:

看看Creating a GUI with Swing、How to use buttons和Laying Out Components Within a Container 【参考方案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 接受的答案基本上已经说了同样的话。

以上是关于Java:如何向框架添加按钮?的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用ActionListener按钮和GUI时向数组列表中添加项目?

如何向 UIActivityViewController 添加自定义按钮?

在 Play 框架 Java 2.6 中添加 Paypal 按钮

如何向 UINavigationBar 添加按钮

滚动时如何向 UITableViewCell 添加更多按钮?

如何向 UILocalNotification 警报添加操作按钮/操作?