【问题标题】:Netbeans: How to specify the width of JLabel?Netbeans:如何指定 JLabel 的宽度?
【发布时间】:2011-10-22 19:13:20
【问题描述】:

我正在用 Java 开发一个小型应用程序。在我的 UI 上,我放置了一个 jPanel 并在其中放置了一个 JLabel。面板的大小根据我的应用程序窗口大小增大和缩小。

现在我想将我的 JLabel 的宽度设置为该 JPanel 的一半。即我的 JLabel 从那个 JPanel 的开头开始到那个 JPanel 的中间。我应该如何做到这一点?

编辑: 我还想在上面的 JLabel 前面放置另一个 JLabel,它从 JPanel 的中间开始,一直到 JPanel 的末尾

【问题讨论】:

  • 你使用什么布局,jlabel的容器是什么?
  • @roni JLabel 的容器是 JPanel,我很抱歉我是 java 新手,所以我不知道我使用的布局是什么意思
  • 您使用的是什么 IDE(如果有)? 编辑 抱歉,我看到您已将此标记为 NetBeans 问题。您在使用 GUI 构建器吗?
  • Jame,解决方案(正如 roni 所暗示的)是了解 Swing 可用的布局管理器,并使用正确的管理器组合来实现所需的布局。请看这里:Visual Guide to Layout Managers
  • @JonathanSpooner “您在使用 GUI 构建器吗?” 除非/直到开发人员了解 Java 布局(参见 HFOE 的链接),否则这将无济于事。当他们确实理解它们时,GUI 构建器就会分散注意力,仅适用于制作模型原型。

标签: java swing netbeans jlabel


【解决方案1】:

设计一些 HTML 将文本整齐地分成两半 - 一个包含一行和两个单元格的表格可能会起到作用。然后将整个 HTML 粘贴到 one 标签中。

【讨论】:

  • @JamesGoodwin Yeees! (这是我能对你模糊而冗长的询问做出的最明智的回答。)
  • 我不喜欢它(请忽略我的观点),在其他手中有效,bump +1
【解决方案2】:

JPanel 的默认布局是Flowlayout,它使用标签的首选大小——刚好足以容纳文本。相反,使用new GridLayout(1, 0) 来获得具有相同大小列的一行。添加您的标签,然后添加第二个空标签。使用setOpaque()setBackground() 看看效果。

一些评论者正确地观察到使用 NetBeans 的 GUI 设计工具可能为时过早。它是一种工具,而不是灵丹妙药。从学习layouts开始。矛盾的是,一种学习方法是探索设计师本身的布局。只需右键单击Inspector 面板中的相关布局,然后选择Set Layout

【讨论】:

  • @trashgod:我可以通过 Netbeans UI 更改布局还是我必须为此编写代码?
  • 我已经在上面详细说明了。斯奈德格言:使用 Smith-Corona 并不能使人成为小说家。 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-01
  • 1970-01-01
  • 2014-08-28
  • 2012-06-09
  • 1970-01-01
  • 1970-01-01
  • 2015-04-23
相关资源
最近更新 更多