JScrollPane,JComboBox透明

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( 0 0 0 0 ));
         cellRenderer.setBackgroundSelectionColor( new  Color( 0 0 0 0 ));
         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[] { 1 2 3 4 5 6 7 });
         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( 100 500 );
         frame.setLocationRelativeTo( null );
         frame.setVisible( true );
     }
}

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值