问题标签 [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.
java - GUI编程,FlowLayout阻塞了JFrame(?)上的其他东西
该程序的想法是我在框架上的某个地方有一些按钮和一个图标。我想让按钮改变颜色。我只担心现在让所有元素都显示出来。如果我注释掉第 11-13 行,我会看到打印出的“hello”,上面有一个红色圆圈。否则,我只有“红色”按钮,没有“你好”或我的红色圆圈。所以这是我的代码:
我 90% 确定问题出在第 11-13 行,但我不确定要更改什么以使所有内容都可见。
java - 仅当 JTable 适合视口时才启用自动调整大小
我需要在 JScrollPane 内创建一个带有可调整大小的列的 JTable(当用户增加列宽时 - 出现水平滚动条)。为此,我使用了table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
. 此外,当视口足够宽以包含整个表格时 - 列应拉伸以填充视口宽度。为了做到这一点,我有getScrollableTracksViewportWidth()
JTable 类的覆盖方法如下:
这种方法效果很好,除了一件事:当我第一次尝试调整列的大小时,它会返回自己的宽度到起始位置。如果我快速调整列大小并释放鼠标表继续工作良好。那么,这种行为的原因是什么?为什么即使getScrollableTracksViewportWidth()
返回 false,表格也会尝试调整大小?或者,也许,您可以提出更好的解决方案来实现这种调整大小模式?
贝娄是上述问题的一个简单的工作示例:
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:
java - 无法使用边框布局编辑 JFrame 中 JTextField 的宽度
感谢所有在 JTextField 问题上帮助我的人。通过使用 BorderLayout.PAGE_START,我成功地将 JTextField 添加到了带有边框布局的框架中。但现在我无法编辑 JTextField 的宽度。只有高度在变化。请看一下下划线。[这会改变 JTextField 的高度,但宽度不会改变]。
边框布局是否将所有组件拉伸到最大宽度?
java - 使用 JPanel 显示图像
我在这里使用以前的主题之一编写了自己的 ImagePanel:
然后我认为在普通的 JPanel 上添加这个面板会很好(使用所有 NetBeans 的东西将它放在框架上会更容易)。所以我添加了一个,NetBeans 为我生成了一些代码:
private javax.swing.JPanel pnlImagePanel;
到了我想显示图像的那一刻,所以:
问题很明显——我没有得到任何结果。它不应该工作吗?我已经覆盖了paintComponent 方法,所以应该触发多态性。还是我缺少什么?
java - JTextArea 没有滚动条
为什么这不显示textArea
滚动条?
我的问题是我什至看不到textArea。但如果我这样做contentPane.add(scroll);
,我可以看到 textArea 但没有滚动。
java - JTable 列宽仅在两次请求后发生变化
在我的应用程序中,我有一个两列表,它将在程序的整个生命周期中动态填充。我有一个名为的方法updateTableWidths
,当被调用时,它会执行以下操作:
- 使第一列与单元格内容所需的一样宽
- 使第二列与单元格内容所需的一样宽
- 如果整个表格比其容器宽,则启用水平滚动条
- 否则,让最后一列拉伸以填充容器
它似乎工作得很好,但由于某些非常奇怪的原因,它需要被调用两次(但仅在某些情况下,即当表格宽度增加而不是缩小时)。下面的 SSCCE 说明了我的困境。
以下是您可以遵循的一系列步骤来重现该行为:
1) 启动应用程序
2)点击按钮“填写表格短”
3) 单击“更新表格宽度”按钮(在这种情况下,只需单击一次)
4)点击按钮“填写表格长”
5)点击按钮“更新表格宽度”(第一次点击)
6)点击按钮“更新表格宽度”(第二次点击)
第二次单击后,它正确显示。我有一些打印到控制台的调试信息,对于第一次和第二次单击,该方法似乎在做同样的事情:
因此,由于在第一次运行期间发生了更改,因此第二次发生的情况并没有明显的差异。正如我之前提到的,这只发生在表列增长而不是缩小时。
我真的很难过。有任何想法吗?
java - Java-Eclipse-尝试使用JTextArea
在过去两天的最后几个小时里,我一直在试图弄清楚为什么我的 GUI 不能正常工作。这是我来到你们所有人的地方,看看你们是否能帮助我。
现在我想做的是一个基于文本的游戏,简单吧?好吧,我想使用排列在屏幕左侧的按钮,底部是你的健康和所有有趣的东西,游戏的主要内容,文本,在中间,但不管我做了什么无法让它适合,然后我偶然发现了 pack() 所以我试了一下,是的......它做了它应该做的事情,遗憾的是现在我只有一个词而且屏幕很小,任何想法至于我怎样才能使屏幕更大,并保持大?
将要编辑这个并扔给你我的代码的点点滴滴,包括 textarea (请注意,我在不工作的时候已经使用 java 了两天)
在这里我已经打包注释掉了,因为我正在玩它。
大家还有什么想看的吗?
java - 如何从当前选择中继承 Java FX 中 ComboBox 或 ChoiceBox 的首选大小?
似乎ComboBox
只有ChoiceBox
一个任意设置的首选宽度。我不想猜测合适的宽度;我只想根据选择中的项目继承首选宽度。
我注意到的另一件事是,对于ComboBox
和ChoiceBox
,当我单击以选择时,弹出窗口具有基于选择中的选项的适当宽度。但是选择器本身并没有继承这个宽度!
java - 按钮大小(Java)
我在 Java 中创建了一个简单的菜单,但我不知道如何更改按钮的大小。我的菜单如下所示:
我希望最后一个按钮与其他按钮具有相同的大小。
不起作用。
代码,我在其中创建了按钮和框:
你能告诉我如何改变尺寸吗?谢谢。