相关疑难解决方法(0)

我应该避免在Java Swing中使用set(Preferred | Maximum | Minimum)Size方法吗?

有几次我因为建议使用以下方法而受到批评:

  1. 有必要对setPreferredSize
  2. 了setMinimumSize
  3. setMaximumSize

Swing组件上.当我想在显示的组件之间定义比例时,我没有看到任何替代它们的用法.我被告知这个:

对于布局,答案总是相同的:使用合适的LayoutManager

我在网上搜索了一下,但我没有找到任何关于这个主题的综合分析.所以我有以下问题:

  1. 我应该完全避免使用这些方法吗?
  2. 已经定义了这些方法的原因.那我什么时候应该使用它们?在哪种情况下?出于什么目的?
  3. 使用这些方法的负面后果究竟是什么?(我只能考虑在具有不同屏幕分辨率的系统之间添加可移植性).
  4. 我认为任何LayoutManager都不能完全满足所有需要的布局需求.我是否真的需要为布局上的每个小变化实现一个新的LayoutManager?
  5. 如果4的答案是"是",那么这是否会导致LayoutManager类的扩散变得难以维护?
  6. 在我需要定义组件子级之间的比例的情况下(例如,child1应该使用10%的空间,child2 40%,child3 50%),是否可以在不实现自定义LayoutManager的情况下实现这一点?

java swing layout-manager

471
推荐指数
8
解决办法
5万
查看次数

JLabel有"自动换行"属性吗?

我在JLabel中显示一些文本.基本上我是动态生成该文本,然后我应用一些HTML标签(例如,BRB)来格式化文本.最后,我将此格式化文本分配给我的JLabel.

现在我希望我的Jlabel在到达屏幕末尾时自动将文本换行到下一行,就像Note Pad中的"Word Wrap"功能一样.

我怎样才能做到这一点?

java swing jlabel

47
推荐指数
4
解决办法
5万
查看次数

将文本垂直居中于Java JLabel中的HTML表格单元格中

我有一个显示在JLabel中的HTML表格(带有CSS的样式).我希望单元格的内容(单个短文本行)水平和垂直居中.水平居中很容易,但我似乎无法垂直居中.我试着vertical-align:valign:middlecenter参数.我已经看了几个技巧,但是没有一个看起来可行,而我试过的那些没有用.

我现在拥有的:

内联(在<style>标签中)CSS:

table.outer {
    background:#F0F0F0;
    border-collapse:collapse;
    border:none;
}

td.outer {
    border-style:solid;
    border-width:1pt;
    border-color:#888888;
    padding:0pt 0pt 0pt 0pt;
}

table.inner {
    border-collapse:collapse;
    border:none;
}

td.title {
    width:75pt;
    background:#BFBFBF;
    padding:1.5pt 0pt 1.5pt 0pt;
}
Run Code Online (Sandbox Code Playgroud)

HTML的相关部分:

<body bgcolor=#F0F0F0>
<table class='outer'>
  <tr>
    <td class='outer' valign=top>
    <table class='inner'>
      <tr>
        <td class='title' rowspan=3>
          <p class='title'>Current Run</p>
        </td>
      </tr>
    </table>
    </td>
  </tr>
</table>
</body>
Run Code Online (Sandbox Code Playgroud)

html java swing jlabel vertical-alignment

6
推荐指数
1
解决办法
2705
查看次数

标签 统计

java ×3

swing ×3

jlabel ×2

html ×1

layout-manager ×1

vertical-alignment ×1