JavaSwingGUI创建
我正在开发Java GUI,我需要:
- 第一行中的标签(仅一个标签)李>
- 从第二行开始需要添加100个按钮,这些按钮延伸到多行(宽度不应超过可见屏幕)
- 在新行中,再添加一个标签
- 从下一行开始,说100个按钮,延伸到多行(宽度不应超过可见屏幕)李>
- [可选]如果组件超过JFrame高度,则需要滚动到主窗口(仅垂直)
我有一个奇怪的结果流布局,有时它坚持可见的宽度,有时它甚至设置了500个按钮在一行
我尝试过每种布局,也尝试过多版式。还是不走运
请导游只需要一个想法,不需要代码
用代码更新:对不起,伙计们,这是我向stackoverflow提出的第一个问题
谢谢你的及时回复 事实上我试过很多,这里有一个简单的
setLayout(new FlowLayout());
setTitle("JAVA GUI");
setSize(500,500);
setVisible(true);
add(new JLabel("row 1"));
JPanel panel1 = new JPanel(new FlowLayout());
for(int i=0;i<200;i++){
panel1.add(new JButton("b"+i));
}
add(panel1);
此处,panel1显示在屏幕可见部分之外的单格行中
我认为这可以通过将maximumsize设置为Jframe来解决,但不知道如何将其大小设置为全屏
# 1 楼答案
虽然这不是“好”问题的标准,但我自己也没有任何问题。有些人只能处理代码。我建议,如果您要发布代码,那么您可以不厌其烦地发布将编译、运行和演示您的情况的代码。这真的能帮助我们这些人了解你所看到的和你想要做的
你谈论“行”;请注意,行和列是用于GridLayout和GridBagLayout之类的术语,但我认为它们不适合您所描述的内容
在你的描述中,你没有说你想要滚动什么。看起来您希望整个UI都滚动,我现在假设是这样
我会尝试一个带有BoxLayout的JPanel,垂直定向,用于整个主UI。您将在其中添加一些内容:
第一个JPanel
另一个JPanel,设置了FlowLayout,持有第一组按钮
另一个JPanel和下一个JLabel
还有第四个JPanel,设置了FlowLayout,并持有第二组按钮
现在,我将顶层面板放入JScrollPane中,然后将其放入框架的中心部分(使用其默认的BorderLayout),然后看看会发生什么。说实话,我不确定,但这些是我要开始的事情
如果不运行代码,我无法解释为什么有时会出现奇怪的行为
# 2 楼答案
你可以试试MigLayout。 http://www.miglayout.com/
此外,这个问题实际上不是堆栈溢出的问题。问你问题的一个好方法是发布你的代码,告诉我们它有什么问题,应该做什么
# 3 楼答案
正如在前面的评论中所说,使用ContentPane是一个不错的选择。以下是您想要的工作示例:
下面是我得到的:
如果要使用左对齐按钮,可以使用: