相关疑难解决方法(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万
查看次数

Java:组件中setPreferredSize()和setSize()方法之间的差异

好的,我阅读了Java文档,我无法弄清楚这两种方法之间的主要区别.有时我曾经使用过setSize(),有时候setPreferredSize(),有时一个人会做我想要的,有时候是另一个.

那么,两者之间的主要区别是什么?我应该使用哪一个JFramesJPanels

谢谢

java swing jpanel jframe

101
推荐指数
4
解决办法
11万
查看次数

java可扩展的JDialog

对于我的应用程序,我有一个JDialog包含 a和JPanel一些基本的. 这个想法是有一个按钮,可以展开以显示包含一些“高级”设置的第二个按钮。JTextFieldsJButtonsJDialogJPanel

setPreferredSize()我通过调用and实现了这一点pack(),但这不是很优雅。一个“优雅”的解决方案是将第二个面板设置为空,因此当切换状态处于“缩回”时被 pack() 忽略。

抱歉,我无法向您提供代码(大约有 700 个谎言),但这就像我所说的,基本上是 JDialog 中的两个 JPanel。

这里有一些照片:

在此输入图像描述在此输入图像描述

问题:有没有一个技巧可以让这个扩展的东西继续运行,而不必为扩展/正常状态设置固定尺寸。

java swing jdialog

3
推荐指数
1
解决办法
985
查看次数

标签 统计

java ×3

swing ×3

jdialog ×1

jframe ×1

jpanel ×1

layout-manager ×1