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()
行,您会注意到不同之处。 “问题”在于以下内容。
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 按钮