问题标签 [layout-manager]
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 - 在一个 JFrame 中包括两个以上的面板?
我们正在开展一个项目,在该项目中遇到了在同一个 JFrame 上包含两个以上面板的问题。我们想要的是一个面板在另一个之上。
社区能否提供一个示例来实现这一点,或者向我推荐与我们的 Java Swing 需求相关的优秀教程或指南?
java - 最佳实践指南:摇摆
有谁知道 Swing 相关的 GUI 指南——特别是关于如何设计 Swing 应用程序以及我应该使用哪些组件?我不是在寻找官方标准,而是我可以用来为我的项目设定好的标准的实用技巧。
我自己并没有使用过多的 Swing。当然,使用 GUI 设计器单击 GUI 并不是什么大问题。但是,我想从有 Swing 经验并知道要避免什么的人那里获得一些见解。Swing 最近(在 Java 6-10 中)有了不错的变化。所以目前没有太多具体的标准化。
java - 如何防止 Java Swing BoxLayout 中的 JTextFields 扩展?
我有一个JPanel
看起来像这样的东西:
我的问题是JTextField
s 在垂直方向上变得很大。我希望它们只够高到一行,因为这是用户可以输入的全部内容。按钮很好(它们不会垂直扩展)。
有什么办法可以防止JTextField
s 膨胀吗?我对 Swing 很陌生,所以如果我做的一切都非常错误,请告诉我。
java - Swing 布局 - 在保持组件尺寸的同时使用网格
我想为应用程序制作一个登录栏,但我不知道如何组织一系列 JLabels 和 JTextField,以便它们在水平网格中组织,而无需调整这些相同组件的大小以适合每个单元格。我还想确保组件组的大小不会调整到某个宽度以下。如何做到这一点?
编辑:谢谢大家的回答。稍后我会看看 MigLayout 和 SpringLayout。由于时间限制,我将不得不使用可视化编辑器并使用空布局。组件的位置和尺寸必须手动调整,但至少它们保持原样。这是一张图片,显示了我想做的事情。
java - 如何在 Java Swing 中控制 JTextField 的宽度?
我试图在一行上有几个 JTextField,但我不希望它们具有相同的宽度。如何控制宽度并使其中一些比其他更宽?我希望它们一起占据总宽度的 100%,所以如果我可以使用某种称重装置会很好。
我试过了,.setColumns()
但没有意义。
这是一个示例,其中我使用三行和三个字符串,这些字符串应显示为列:
java - 如何“打包()”一个可打印的 Java Swing 组件?
我已经实现了一个 Java Swing 组件,它实现了Printable
. 如果我将组件添加到 JFrame,并this.pack();
在 JFrame 上执行,它会完美打印。但是,如果我不将组件添加到 JFrame,则只会打印一个空白页。
此代码提供了很好的打印输出:
但是这段代码给出了一个空白页:
我认为这this.pack();
是最大的不同。如何pack()
在我的可打印组件上进行操作,使其打印正常,而不将其添加到 JFrame?该面板正在使用多个 LayoutManager。
我已经尝试过p.validate();
,p.revalidate();
但它不起作用。有什么建议么?还是在打印组件之前必须将其添加到隐藏的 JFrame 中?
更新:如果我p.doLayout();
打印了某些部分,但不打印子组件。并来自以下文档doLayout()
:
使该容器布置其组件。大多数程序不应直接调用此方法,而应调用 validate 方法。
但p.validate();
对我不起作用。
java - How to right-justify icon in a JLabel?
For a JLabel with icon, if you setHorizontalTextPosition(SwingConstants.LEADING)
, the icon is painted right after text, no matter how wide the label is.
This is particularly bad for a list, as the icons would be all over the place depending on how long the text is for each item.
I traced the code and it seems to be that in SwingUtilities#layoutCompoundLabelImpl
, text width is simply set to SwingUtilities2.stringWidth(c, fm, text)
, and icon x is set to follow text without considering label width.
Here is the simplest case:
You can see that label always fills the frame but icon stays put. You'll get the mirror problem if you set both arguments to TRAILING
.
I know I can override the UI, or use a JPanel, etc. I just wonder if I'm missing something simple in JLabel. If not, it seems like a Java bug.
FYI this is jdk1.6.0_06 on Windows XP.
java - 使用 GridBagLayout 构建垄断板
我在业余时间一直在构建 Java 版本的 Monopoly,但在理解 Swing 的布局等方面遇到了一些麻烦。
我在板上的每个空间本质上都是一种习惯JButton
,我一直试图将它们放置在框架的边缘(就像垄断板本身一样)。我似乎找不到有关布局系统如何工作的有用解释,因此在这样做时遇到了麻烦。
有人可以给我一个例子,说明他们如何将按钮放在框架边缘?我应该使用不同的布局吗?
layout-manager - 如何构建自定义 draw2d 布局管理器?
我想要一个布局管理器,可以按如下方式排列两个元素:
一个主要元素 ABCDEF 居中
一个“后记”元素 XYZ,位于封装图的右上角
例如:
我可以为此使用现有的布局管理器吗?如何构建支持它的自定义布局管理器?
非常感谢您的建议。
java - 在 Java Swing 中放置 ot 组件
哦,干草在那里,没看到你。我想知道是否有比我在下面所做的更好、更有效的方式来格式化 java 中的标签、面板和按钮。这是我的代码,我想让欢迎、日期和按钮都在不同的行上。这样做的唯一合乎逻辑的方法是创建空白标签,对吗?