当前位置: 首页 > 知识库问答 >
问题:

Java Swing,制作gridlayout填充父对象?

薛朝
2023-03-14

我最近刚刚开始使用Swing为程序创建GUI,到目前为止,使用它非常有趣。但是,我对布局设置为gridLayout的JPanel有一个问题。现在它看起来像这样:

右边的网格是一个设置为GridLayout的JPanel,每个单元格都是一个带边框的JLabel。左边的选项也在JPanel中,左边的JPanel和右边的JPanel嵌套在JFrame上设置的GridBagLayout中。

本质上,我的问题是,我想“缩放”右边的网格,使每个单元格都有一定的高度和宽度。网格本身将具有可变的行数和列数,这些行数和列数是在程序首次启动时设置的。最终,我计划在JScrollPane中使用正确的JPanel(如果是这样的话…),所以我并不关心是否所有的网格都出现在屏幕上。

我尝试将gridLayout的填充值设置为“BOTH”,它给了我以下结果:

这更接近我的意图,但我希望JLabel中的实际图像图标填充整个JLabel。此外,我希望JLabel具有相同的高度和宽度。然而,我不知道该怎么做。我已经在这上面混了一段时间了,我不确定我是不是太喜欢Swing,或者我在文档中遗漏了什么。最后,我希望网格单元格的高度和宽度是固定的,无论单元格的数量是多少,也不管它是否在屏幕外或没有填充。

(此外,我只是想,也许编码这个然后稍后将其塞进JScrollPane并期望它执行相同的操作并不是最好的主意......我想我会看看会发生什么。)

共有1个答案

陈飞语
2023-03-14

但是我希望JLabels中的实际ImageIcon填充整个JLabel。

查看Darryl的拉伸图标,该图标将允许调整图标大小,以归档JLabel的可用空间。

 类似资料:
  • 我有一个带有listview的片段,它的适配器包含两种类型的单元格(取决于位置)。 列表中的第一个单元格应该是自定义视图(按钮,ViewPager,CirclePageSignator),第一个单元格宽度match_parent 第二个单元格也是自定义视图,其中包含按钮和图像视图。 我的问题是,当我放置ViewPager时,在第一个单元格中看不到ViewPager。宽度以包装内容或填充父对象或匹配

  • 我正在使用作为覆盖层。它应该和它的父容器一样宽和一样高。然而,由于某种奇怪的原因,它不是垂直填充其父级的(而是水平填充)。下面是相关的XML: 使用上面的代码,覆盖层也不可见(其高度为)。当我在内部放置时,它会展开以适应。简而言之,它的行为就好像它的高度被设置为。 我如何强制它装满它的容器,同时让它空着?

  • 我有一个要填充信息的对象。我从许多不同的服务中检索信息。我做了一个助手类,它有一个公共方法,然后有许多私有方法来调用服务。我写的东西很好,但我不确定这是否是正确的方法。 您可能想知道为什么我需要一个包含所有这些信息的对象。我需要它全部在一个对象中,因为我从这个java对象创建了一个json对象并将其传递给javascript层。 我的方法有什么问题?我是否应该遵循一种编程范式来做这样的事情? 例子

  • 问题内容: 让我们借用来自Scaryguy的出色示例,并进行如下修改: 项目组架构: 项目架构: 用户架构: 然后,我可以进行以下填充: 请注意,参考字段不是对象ID。 在此示例中,项目模式具有对项目组和订户的引用字段,这使得上述填充成为可能。 如果我想获得一个ProjectGroup对象,该对象包含该组下的所有项目,并且每个项目都包含其订阅者,该怎么办? 我会说我正在寻找“反向”人群,即基于子架

  • 我正在为一个家庭作业制作一个ms绘画风格的程序。在这个家庭作业中,你应该能够右键点击一个形状并在屏幕上移动它。填充的形状可以在形状内的任何地方右键单击,而未填充的形状则应在形状的边框上右键单击并选择。 我遇到的问题是,当我最初启动程序,绘制和未填充的形状,并尝试拖动它,它会拖动,但一旦我再次放下它,它的行为正确,变得不可拖动,所有未来未填充的形状都相应地行动。 TLDR:我希望所有填充的形状都是可

  • 问题内容: 我有抽象类Human,这是另外两个类Student和Worker的延伸。我正在尝试填写两个数组列表。类型为Student的ArrayList和类型为Worker的ArrayList动态。 } } } } 问题答案: 当然,只需添加学生: 您可以为工人做几乎完全相同的事情。如果要使用循环,请执行以下操作: 这将创建一个新学生列表,其姓名后面有不同的编号。但是,如果您需要其他数据,则该数据