JScrollPane,JComboBox透明

来源:互联网 发布:知乎 商城模块 编辑:程序博客网 时间:2024/05/29 02:15
JScrollPane设置透明
package prx.swing;
 
import java.awt.Color;
import java.awt.Container;
 
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeCellRenderer;
import javax.swing.tree.DefaultTreeModel;
 
public class SimpleJTree  
{
    JFrame frame = new JFrame("简单树");
 
    JTree tree;
    DefaultTreeModel model;
     
    //定义初始节点
    DefaultMutableTreeNode root = new DefaultMutableTreeNode("root"); 
    DefaultMutableTreeNode child = new DefaultMutableTreeNode("child");
 
    public void init()
    {
        initUI();
        initLayout();
 
        frame.pack();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
     
    private void initUI() {
        //以根节点创建树
        root.add(child);
        tree = new JTree(root);
         
        //默认连线
        tree.putClientProperty("JTree.lineStyle" "Angeled");
 
 
        //设置是否显示根节点的“展开/折叠”图标,默认是false
        tree.setShowsRootHandles(true);
        //设置节点是否可见,默认是true
        tree.setRootVisible(true);
         
        //将节点中的背景色设置为透明
        DefaultTreeCellRenderer cellRenderer = new DefaultTreeCellRenderer();
        cellRenderer.setBackgroundNonSelectionColor(new Color(0000));
        cellRenderer.setBackgroundSelectionColor(new Color(0000));
        tree.setCellRenderer(cellRenderer);
             
         
        model = (DefaultTreeModel)tree.getModel();
    }
     
    private void initLayout() {
        Container container = frame.getContentPane();
        tree.setBackground(Color.GRAY);
         
        JScrollPane scrollPane = new JScrollPane(tree);
        container.add(scrollPane);
    }
 
    public static void main(String[] args) 
    {
        new SimpleJTree().init();
    }

}



JComboBox:设置透明

import java.awt.Color;
 
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.plaf.basic.BasicComboBoxUI;
 
public class ComboBoxTest {
    public static void main(String[] args) {
        UIManager.put("ComboBox.background"new Color(0,0,0,0));
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JComboBox comboBox = new JComboBox(new Object[] {1234567});
        comboBox.setOpaque(false);
        comboBox.setUI(new BasicComboBoxUI() {
            public void installUI(JComponent comboBox) {
                super.installUI(comboBox);
                listBox.setForeground(Color.WHITE);
                listBox.setSelectionBackground(new Color(0,0,0,0));
                listBox.setSelectionForeground(Color.BLACK);
            }
             
            /**
             * 该方法返回右边的按钮
             */
            protected JButton createArrowButton() {
                return super.createArrowButton();
            }
        });
        JPanel panel = new JPanel();
        panel.setBackground(Color.GRAY);
        panel.add(comboBox);
        frame.getContentPane().add(panel);
         
        frame.setSize(100500);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}

0 0
原创粉丝点击