zoukankan      html  css  js  c++  java
  • Swing-setOpaque()用法-入门

    先看API:

    public void setOpaque(boolean isOpaque)

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

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

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

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

     

    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import javax.swing.BorderFactory;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    
    /*
     * 2015-06-15
     */
    
    public class SetOpaqueDemo extends JFrame {
    
      public SetOpaqueDemo() {
        super("setOpaqueDemo");
        setSize(400, 200);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    
        //不透明,看到黑色顶层
        JPanel opaquePanel = createNested(true);
        //透明,露出白色底层
        JPanel notOpaque = createNested(false);
    
        getContentPane().setLayout(new FlowLayout());
        getContentPane().add(opaquePanel);
        getContentPane().add(notOpaque);
      }
    
      
    
      public JPanel createNested(boolean opaque) {
        JPanel outer = new JPanel(new FlowLayout());
        JPanel inner = new JPanel(new FlowLayout());
        //底层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);
    
        return outer;
      }
      
      public static void main(String[] args) {
            SetOpaqueDemo setOpaqueDemo = new SetOpaqueDemo();
            setOpaqueDemo.setVisible(true);
          }
    }

    运行效果如下图所示:

    运行效果图

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

  • 相关阅读:
    Hadoop eclipse插件使用过程中出现的问题
    hadoop eclipse插件下载 1.1.2版本
    Hbase 行键设计
    Js权限判断处理
    ASP.NET MVC中给所有的cshtml页面引用命名空间
    jquery实现的网页选项卡(拾忆)
    angularjs 请求后端接口请求了两次
    Entity Framework Code First关系映射约定
    Angularjs中link函数参数含义小节
    浅谈AngularJS中的$parse和$eval
  • 原文地址:https://www.cnblogs.com/pzy4447/p/4579360.html
Copyright © 2011-2022 走看看