java setopaque_Swing-setOpaque()用法-入门

先看API:

public void setOpaque(boolean isOpaque)

如果为 true,则该组件绘制其边界内的所有像素。否则该组件可能不绘制部分或所有像素,从而允许其底层像素透视出来。

对于 JComponent 而言,此属性的默认值是 false。但是对于大多数标准的 JComponent 子类(如 JButton 和 JTree),此属性的默认值与外观有关。

参数: isOpaque - 如果此组件应该是不透明的,则为 true

Opaque是不透明的意思,当设置为false时,组件是透明的,可显示下方的组件。下面是测试用例:

importjava.awt.Color;importjava.awt.Dimension;importjava.awt.FlowLayout;importjavax.swing.BorderFactory;importjavax.swing.JFrame;importjavax.swing.JPanel;/** 2015-06-15*/

public class SetOpaqueDemo extendsJFrame {publicSetOpaqueDemo() {super("setOpaqueDemo");

setSize(400, 200);

setDefaultCloseOperation(EXIT_ON_CLOSE);//不透明,看到黑色顶层

JPanel opaquePanel = createNested(true);//透明,露出白色底层

JPanel notOpaque = createNested(false);

getContentPane().setLayout(newFlowLayout());

getContentPane().add(opaquePanel);

getContentPane().add(notOpaque);

}public JPanel createNested(booleanopaque) {

JPanel outer= new JPanel(newFlowLayout());

JPanel inner= new JPanel(newFlowLayout());//底层panel为白色,顶层为黑色

outer.setBackground(Color.white);

inner.setBackground(Color.black);

inner.setOpaque(opaque);

inner.setBorder(BorderFactory.createLineBorder(Color.gray));

inner.setPreferredSize(new Dimension(40, 20));

outer.add(inner);returnouter;

}public static voidmain(String[] args) {

SetOpaqueDemo setOpaqueDemo= newSetOpaqueDemo();

setOpaqueDemo.setVisible(true);

}

}

运行效果如下图所示:

085f807f9d5861d124666926b3a695b2.png

运行效果图

可见,setOpaque(false)使panel变成了透明效果。

原文:http://www.cnblogs.com/pzy4447/p/4579360.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: `setOpaque()`是Java Swing中的一个方法,它用于设置组件的不透明度。当将组件的`opaque`属性设置为`true`时,组件将完全不透明,即使它的背景是透明的。当将其设置为`false`时,组件将变得透明,允许其下方的组件或背景显示出来。 例如,要将一个JPanel设置为不透明,可以使用以下代码: ``` JPanel panel = new JPanel(); panel.setOpaque(true); ``` 这将使JPanel变得不透明,其背景颜色或图像将完全填充该组件。如果要将其设置为透明,可以使用以下代码: ``` JPanel panel = new JPanel(); panel.setOpaque(false); ``` 这将使JPanel变得透明,允许其下方的组件或背景显示出来。 ### 回答2: setOpaqueJava中用于设置组件是否透明的方法。组件的透明度指的是组件是否显示其后面的组件或画面。 使用setOpaque方法可以设置组件的透明度。当参数为true时,组件将不透明;当参数为false时,组件将透明。通过设置组件的透明度,可以实现一些特殊的效果,比如在不影响组件的交互和功能的前提下,让组件显示为半透明或完全透明的状态。 该方法主要用于Swing编程中的图形界面设计。在使用setOpaque方法时,需要注意以下几点: 1. 组件只有在已经添加到容器中并可见的情况下,才能通过setOpaque方法设置透明度。因此,在使用该方法前,需要确保组件已经添加到容器中。 2. 组件的父容器也需要设置成透明,否则即使该组件设置为透明,也无法显示透明的效果。 3. 组件如果设置为透明,那么它的子组件也将会被设置为透明。 总之,通过setOpaque方法的设置,可以实现组件的透明效果,从而达到更加丰富和灵活的界面设计。在实际应用中,可以根据需要选择合适的透明度,来实现各种不同的视觉效果。 ### 回答3: setOpaque()方法是Java中用于设置组件的透明度的方法。当一个组件的setOpaque()方法被设置为true时,该组件将完全不透明;当该方法被设置为false时,该组件将是透明的。 在Java Swing中,setOpaque()方法主要用于面板组件,如JPanel。当一个面板组件被设置为不透明时,它将完全覆盖在其父组件的身上,而不会透过显示父组件的背景。这在创建背景具有特定颜色、图片或其他样式的面板时非常有用。 通过调用setOpaque(true),可以确保一个面板或其他组件占用其完整的空间,并且不透过显示任何背景。这对于需要在面板上添加其他组件,并希望确保它们不透过自身背景显示的情况非常有用。 另一方面,通过调用setOpaque(false),面板组件将是透明的。这意味着它将显示其父组件的背景,并且任何在面板上添加的组件也将透过面板显示父组件的背景。这对于创建具有渐变、半透明或其他特殊效果的面板非常有用。 总结来说,setOpaque()方法允许我们控制组件的透明度。通过设置为true,一个组件将是完全不透明的,会遮盖住其后面的其他组件;通过设置为false,一个组件将是透明的,会显示其后面的其他组件及其父组件的背景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值