相关疑难解决方法(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中的setOpaque()

任何人都可以解释为什么Nimbius以不同于其他java LaF的方式处理setOpaque().它破坏了我的代码,因为通常透明的组件不再是.

编辑:问题似乎只涉及JTextAreas(这是我需要的)或类似的组件.

编辑编辑:这是实际应用程序的屏幕.在应用trashgod的解决方案时,背景仍然无法显示.

替代文字

编辑编辑编辑:
我尝试了trashgod的建议来覆盖paint().我辛苦工作了好几个小时,无法让它发挥作用.我能够显示背景,但JinternalFrame无法移动,调整大小并选择其文本.调用super.paint(g)无法解决问题.有没有一种简单的方法可以让我失踪?
我采取了一种新方法.JInternalFrame内部是一个JLayeredPane.
第0层 - JLabel
第1层 - JTextArea

移动或调整JInternalFrame时:

  1. 使自己看不见
  2. 拍摄它所包含的容器中的位置的屏幕截图
  3. 用它拍摄的图像绘制JLabel
  4. 使自己再次可见.

因为我无法让JInternalFrame完全透明.我模拟了它的透明度.唯一的问题是,与此相关的开销很大.有什么想法吗?

替代文字


package newpackage;

import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLayeredPane;
import javax.swing.JPanel;
import javax.swing.UIManager;

/**
 * Example of how to create a transparent internal frame.
 * @author dvargo
 */
public class TransparentInternalFrame extends JInternalFrame {

    JLayeredPane container;


    /**
     * Defualt constructor to set the frame …
Run Code Online (Sandbox Code Playgroud)

java swing look-and-feel nimbus

4
推荐指数
1
解决办法
9624
查看次数

标签 统计

java ×2

swing ×2

layout-manager ×1

look-and-feel ×1

nimbus ×1