Java swing表透明度

use*_*440 4 java swing jtable

我想改变JTable的透明度,看看像照片这样的细胞背后是什么?

dac*_*cwe 6

这是可以做到用setOpaque(false)JTableTableCellRenderer.截图由以下代码生成:

在此输入图像描述

码:

public static void main(String[] args) throws MalformedURLException, IOException{
    final BufferedImage image = ImageIO.read(new URL(
                  "http://upload.wikimedia.org/wikipedia/en/2/24/Lenna.png"));

    JFrame frame = new JFrame("Test");

    frame.add(new JTable(18, 5) {{
            setOpaque(false);
            setDefaultRenderer(Object.class, new DefaultTableCellRenderer() {{
                setOpaque(false);
            }});
        }
        @Override
        protected void paintComponent(Graphics g) {
            g.drawImage(image, 0, 0, getWidth(), getHeight(), null);
            super.paintComponent(g);
        }
    });
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);
}
Run Code Online (Sandbox Code Playgroud)