问题标签 [preferredsize]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
786 浏览

java - GUI编程,FlowLayout阻塞了JFrame(?)上的其他东西

该程序的想法是我在框架上的某个地方有一些按钮和一个图标。我想让按钮改变颜色。我只担心现在让所有元素都显示出来。如果我注释掉第 11-13 行,我会看到打印出的“hello”,上面有一个红色圆圈。否则,我只有“红色”按钮,没有“你好”或我的红色圆圈。所以这是我的代码:

我 90% 确定问题出在第 11-13 行,但我不确定要更改什么以使所有内容都可见。

0 投票
1 回答
5817 浏览

java - 仅当 JTable 适合视口时才启用自动调整大小

我需要在 JScrollPane 内创建一个带有可调整大小的列的 JTable(当用户增加列宽时 - 出现水平滚动条)。为此,我使用了table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);. 此外,当视口足够宽以包含整个表格时 - 列应拉伸以填充视口宽度。为了做到这一点,我有getScrollableTracksViewportWidth()JTable 类的覆盖方法如下:

这种方法效果很好,除了一件事:当我第一次尝试调整列的大小时,它会返回自己的宽度到起始位置。如果我快速调整列大小并释放鼠标表继续工作良好。那么,这种行为的原因是什么?为什么即使getScrollableTracksViewportWidth()返回 false,表格也会尝试调整大小?或者,也许,您可以提出更好的解决方案来实现这种调整大小模式?

贝娄是上述问题的一个简单的工作示例:

0 投票
2 回答
999 浏览

java - Resizing JTextField in JMenuBar

I'm trying to add a JTextField as a search bar to a JMenuBar at the top of my JFrame. My problem is that the JTextField keeps getting resized to take up all available space in the JMenuBar, and I don't want it to. I've tried setPreferredSize() and setMaximum Size(), but these didnt work, presumably because the LayoutManager used in the JMenuBar doesn't respect these sizes. I also tried adding the JTextField to a JPanel with a FlowLayout and adding the panel to the JMenuBar, but I get something that looks like this:

The panel is on the right side of the JMenuBar, and the size seems to be correct, but I can't see anything in it other than this weird blue bar.

Here's the code that (I think) is relevant. Let me know if more is needed:

0 投票
1 回答
1123 浏览

java - 无法使用边框布局编辑 JFrame 中 JTextField 的宽度

感谢所有在 JTextField 问题上帮助我的人。通过使用 BorderLayout.PAGE_START,我成功地将 JTextField 添加到了带有边框布局的框架中。但现在我无法编辑 JTextField 的宽度。只有高度在变化。请看一下下划线。[这会改变 JTextField 的高度,但宽度不会改变]。

具有完全拉伸的 TextField 的 JFrame

边框布局是否将所有组件拉伸到最大宽度?

0 投票
3 回答
141 浏览

java - 使用 JPanel 显示图像

我在这里使用以前的主题之一编写了自己的 ImagePanel:

然后我认为在普通的 JPanel 上添加这个面板会很好(使用所有 NetBeans 的东西将它放在框架上会更容易)。所以我添加了一个,NetBeans 为我生成了一些代码: private javax.swing.JPanel pnlImagePanel; 到了我想显示图像的那一刻,所以:

问题很明显——我没有得到任何结果。它不应该工作吗?我已经覆盖了paintComponent 方法,所以应该触发多态性。还是我缺少什么?

0 投票
3 回答
4950 浏览

java - JTextArea 没有滚动条

为什么这不显示textArea滚动条?

我的问题是我什至看不到textArea。但如果我这样做contentPane.add(scroll);,我可以看到 textArea 但没有滚动。

0 投票
2 回答
846 浏览

java - JTable 列宽仅在两次请求后发生变化

在我的应用程序中,我有一个两列表,它将在程序的整个生命周期中动态填充。我有一个名为的方法updateTableWidths,当被调用时,它会执行以下操作:

  • 使第一列与单元格内容所需的一样宽
  • 使第二列与单元格内容所需的一样宽
  • 如果整个表格比其容器宽,则启用水平滚动条
  • 否则,让最后一列拉伸以填充容器

它似乎工作得很好,但由于某些非常奇怪的原因,它需要被调用两次(但仅在某些情况下,即当表格宽度增加而不是缩小时)。下面的 SSCCE 说明了我的困境。

以下是您可以遵循的一系列步骤来重现该行为:

1) 启动应用程序

2)点击按钮“填写表格短”

在此处输入图像描述

3) 单击“更新表格宽度”按钮(在这种情况下,只需单击一次)

在此处输入图像描述

4)点击按钮“填写表格长”

在此处输入图像描述

5)点击按钮“更新表格宽度”(第一次点击)

在此处输入图像描述

6)点击按钮“更新表格宽度”(第二次点击)

在此处输入图像描述

第二次单击后,它正确显示。我有一些打印到控制台的调试信息,对于第一次和第二次单击,该方法似乎在做同样的事情:

因此,由于在第一次运行期间发生了更改,因此第二次发生的情况并没有明显的差异。正如我之前提到的,这只发生在表列增长而不是缩小时。

我真的很难过。有任何想法吗?

0 投票
3 回答
2491 浏览

java - Java-Eclipse-尝试使用JTextArea

在过去两天的最后几个小时里,我一直在试图弄清楚为什么我的 GUI 不能正常工作。这是我来到你们所有人的地方,看看你们是否能帮助我。

现在我想做的是一个基于文本的游戏,简单吧?好吧,我想使用排列在屏幕左侧的按钮,底部是你的健康和所有有趣的东西,游戏的主要内容,文本,在中间,但不管我做了什么无法让它适合,然后我偶然发现了 pack() 所以我试了一下,是的......它做了它应该做的事情,遗憾的是现在我只有一个词而且屏幕很小,任何想法至于我怎样才能使屏幕更大,并保持大?

将要编辑这个并扔给你我的代码的点点滴滴,包括 textarea (请注意,我在不工作的时候已经使用 java 了两天)

在这里我已经打包注释掉了,因为我正在玩它。

大家还有什么想看的吗?

0 投票
1 回答
1685 浏览

java - 如何从当前选择中继承 Java FX 中 ComboBox 或 ChoiceBox 的首选大小?

似乎ComboBox只有ChoiceBox一个任意设置的首选宽度。我不想猜测合适的宽度;我只想根据选择中的项目继承首选宽度。

我注意到的另一件事是,对于ComboBoxChoiceBox,当我单击以选择时,弹出窗口具有基于选择中的选项的适当宽度。但是选择器本身并没有继承这个宽度!

0 投票
2 回答
32755 浏览

java - 按钮大小(Java)

我在 Java 中创建了一个简单的菜单,但我不知道如何更改按钮的大小。我的菜单如下所示: 当前外观

我希望最后一个按钮与其他按钮具有相同的大小。

不起作用。

代码,我在其中创建了按钮和框:

你能告诉我如何改变尺寸吗?谢谢。