问题标签 [boxlayout]
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 - 分配布局时出错:无法共享 BoxLayout
我有这个 JavaJFrame
类,我想在其中使用 boxlayout,但我收到一条错误消息java.awt.AWTError: BoxLayout can't be shared
。我见过其他人有这个问题,但他们通过在内容窗格上创建 boxlayout 来解决它,但这就是我在这里所做的。这是我的代码:
java - 请帮助我理解 BoxLayout 对齐问题
我正在尝试使用 Java 布局创建一个非常简单的窗口。我要安排三个元素:按钮、进度条和标签。按钮必须垂直居中,进度条必须全宽,标签必须左对齐。
下面是一些代码(假设pane是JFrame的内容窗格,并且之前已经创建了按钮、progressBar和label):
当我测试应用程序时,我看到所有东西都错位并搞砸了:按钮和标签是随机缩进的,如果我调整窗口大小,缩进量会以一种奇怪的方式发生变化。进度条看起来不错(全宽)。
我只是不明白发生了什么。你能给我一个线索吗?
netbeans - Netbeans JLabel 锚压倒了我的布局管理器
我知道这已经被问了很多,并且以各种方式,我已经尝试过,但没有成功。我正在使用 netbeans 和 swing 来创建我的 GUI。
我在 JPanel 中有一个 Jlabel。当我将标签放在面板内时,它会自动将其锚定到最近的组件,这不是我想要的。我想使组件居中,无论大小。
但是,在 GUI 编辑器的“代码”部分创建自定义 JPanel 以制作 BoxLayout 和 GridBagLayout 似乎不起作用。似乎无论如何,它仍然锚定。你可以在我的编辑器中看到它在做什么的附件 jpg。
有人有什么想法吗?
如前所述,我试图更改 JPanel 的“自定义创建代码”来执行以下操作: new javax.swing.JPanel(new GridBagLayout());
然后删除了我的 JLabel 的父标签并将“创建后代码”添加为:statusPanel.add(versionLabel,new GridBagConstraints());
我还尝试输入 GridBagConstraints 来表示居中。
cocoa - 可可中的 BoxLayout
最初,我想问如何以编程方式使用可可创建用户界面,即不使用界面构建器。但似乎其他人已经问过这个问题并且答案对我没有帮助。
所以我会问一个不同的问题,我希望能间接帮助我回答上一个问题。这里是:
(QUESTION_START)
如何创建一个功能与Java中的BoxLayout 类等效的 Objective C 类?(只需单击链接,该页面上的图像说明了您需要了解的有关 BoxLayout 的所有信息。)
(QUESTION_END)
任何正确方向的帮助将不胜感激!
有一些与问题相关的子任务,例如
“我如何询问用户界面元素(例如按钮)它想要多大”(在它被绘制到屏幕之前)。要在屏幕上绘制它,您必须已经知道它的大小,不是吗?显然,界面构建器应用程序已经找到了一种方法来做到这一点。
我知道许多 Cocoa 开发人员甚至认为尝试我想做的事情是一个愚蠢的想法。让我告诉你:我知道这种观点背后的原因。现在,在没有界面构建器的情况下布局控件很糟糕,因为在可可中没有任何东西可以接近布局管理器。但是,如果您认为我的问题很愚蠢,请不要回答。整个互联网都在解释为什么你永远不想用 cocoa 中的代码创建 UI。
谢谢!
java - Java:jsplitpane 和 boxlayout 的问题
我想摆脱jsplitpanes左侧的空白空间:
这是我的代码:
java - Swing BoxLayout 问题 - 无法让 Fillers 完成工作
我想要做什么
在 Swing 中,我尝试使用BoxLayout
或等效的线性容器,但容器中的项目垂直拉伸。在我的应用程序中,我不希望它们垂直拉伸。
我知道我可以在组件上设置一个 preferredSize 或 maximumSize,但是下面的代码只是一个复制器,我不能硬编码或最大化组件的大小,这些组件实际上更复杂和动态。而且我不能将 aBorderLayout
与该BorderLayout.TOP
位置一起使用,因为如果我这样做,将不会显示任何滚动条。我可能需要滚动窗格。
我试过的
因此,我尝试按照Using Invisible Components as Filler中的说明使用fillers
in a ,但它不起作用。尽管在 Oracle 文档中,它似乎正是我所需要的。这是我的尝试:BoxLayout
这是我得到的结果:
第二次尝试
我尝试使用Box类而不是JPanel
with BoxLayout
,但视觉结果完全相同。这是我的第二次尝试:
我想做什么
有谁知道我如何修复这些填充物并使它们起作用?对给定代码的修复会很棒。
这是我用颜料画的一幅画,它显示了我想要的结果:
java - 我无法让 BoxLayout 的 setPreferredSize() 方法按我想要的方式工作
我想我解决了我的问题,但我不知道为什么会这样,所以我希望有人能向我解释一下,这样我以后就不会再犯同样的错误了。
这是一个简单的示例,可以编译我正在尝试做的事情:
起初,我遇到了包含 JLabel 的面板没有像使用首选大小那样调整大小的问题。我发现这是因为我使用 mainPanel.getSize() 的一些变体作为子面板的首选尺寸。在这个例子中,我使用了实际的数值,这很有效。
它不能以旧方式工作的原因(这实际上是我希望有人解释的事情),这就是为什么,如 SOP 行中所见, mainPanel.getSize() 返回宽度和高度为 0 而它显然占据了整个屏幕,即 400x300。
感谢@camickr 告诉我不应该为我的面板设置首选大小,这有助于我找出问题出在哪里。
java - BoxLayout 中的 NullPointerException
有人知道我如何开始在 Java Swing 中调试此错误吗?
它在BoxLayout
(line size = ...
)中从这个方法中抛出
java - 从 BoxLayout 中移除时组件不移动
我正在使用 BoxLayout 并从中动态删除组件,如下所示:
但是,这样做时,即使相关标签已从布局中删除,其他组件也不会向上移动以覆盖其空间,直到我调整框架大小。我在移除组件后尝试重新绘制框架,但没有运气 - 标签不再显示,但仍然存在以前的差距。
除了每次移除组件时自动调整窗口大小的明显可怕的问题之外,我如何获得所需的行为?
height - 具有动态文本长度并在 BoxLayout 中包装错误高度的 JTextarea
我正在尝试在垂直 BoxLayout 中使用多行标签和图像标签。对于多行标签,我使用带有 setEditable(false) 的 JTextArea。对于图像标签,我使用 JLabel([ImageIcon])。
以下代码显示 textarea 下面有很多空间,我不希望这样。为了简单起见,我添加了文本标签而不是图像标签。
我想要的是从上到下堆叠文本区域和标签。在每个 textarea 之后,标签应该紧跟在下面,在最后一个标签之后,到窗口底部应该有空白空间。
也许另一个布局管理器更好,但我认为这是一个 JTextArea 问题。任何解决方案都会有所帮助。
谢谢。
这是可编译的代码: