Java 如何使用GTK外观在JColorChooser中添加透明度滑块

Java 如何使用GTK外观在JColorChooser中添加透明度滑块,java,swing,java-7,look-and-feel,jcolorchooser,Java,Swing,Java 7,Look And Feel,Jcolorchooser,在Java7之前,如果您想让用户选择透明的颜色,您必须显示JColorChooser,并添加自己的透明度滑块,因为标准颜色选择器没有透明/不透明度的UI 从Java7开始,标准的JColorChooser似乎包含这样一个滑块,所以我删除了我们自己的透明度滑块。但是,当使用GTK+外观时,JColorChooser缺少此滑块/UI小部件 是否有人知道将透明度滑块添加到GTK+外观的简单方法JColorChooser(例如,我必须设置的系统属性、UI管理器中的键值对等) 从我看来,恐怕这样的财产并不

在Java7之前,如果您想让用户选择透明的颜色,您必须显示
JColorChooser
,并添加自己的透明度滑块,因为标准颜色选择器没有透明/不透明度的UI

从Java7开始,标准的
JColorChooser
似乎包含这样一个滑块,所以我删除了我们自己的透明度滑块。但是,当使用GTK+外观时,
JColorChooser
缺少此滑块/UI小部件

是否有人知道将透明度滑块添加到GTK+外观的简单方法
JColorChooser
(例如,我必须设置的系统属性、UI管理器中的键值对等)

从我看来,恐怕这样的财产并不存在。否则,它可能会被用来禁用/删除透明度滑块

屏幕截图,以说明金属下的内容与GTK下的内容:

金属外观和手感

GTK+外观和感觉

用于生成屏幕截图的代码

当然,代码必须使用JDK7或更高版本运行

import java.awt.Color;
import java.awt.EventQueue;

import javax.swing.JColorChooser;
import javax.swing.LookAndFeel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;

public class ColorChooserExample {
  public static void main(String[] args) {
    EventQueue.invokeLater(
        new Runnable() {
          @Override
          public void run() {
            try {
              UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
//              UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
              JColorChooser.showDialog(null, "Pick color", Color.YELLOW );
            } catch (ClassNotFoundException e) {
              throw new RuntimeException(e);
            } catch (InstantiationException e) {
              throw new RuntimeException(e);
            } catch (IllegalAccessException e) {
              throw new RuntimeException(e);
            } catch (UnsupportedLookAndFeelException e) {
              throw new RuntimeException(e);
            }
          }
        }
    );
  }
}