importjava.awt.Component;
importjava.awt.Container;
importjavax.swing.ImageIcon;
importjavax.swing.JComponent;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JTable;
importjavax.swing.table.TableCellRenderer;
publicclassaaa{
publicaaa(){
}
publicstaticvoidmain(String[]args){
JFrameframe=newJFrame("背景透明展示");
ImageIconicon=newImageIcon("003.jpg");
JLabellab=newJLabel(icon);//将图片放入到label中
lab.setBounds(0,0,icon.getIconWidth(),icon.getIconHeight());//设置放有图片的label的位置
JTablet=newJTable(20,3){//设置jtable的单元格为透明的
publicComponentprepareRenderer(TableCellRendererrenderer,
introw,intcolumn){
Componentc=super.prepareRenderer(renderer,row,column);
if(cinstanceofJComponent){
((JComponent)c).setOpaque(false);
}
returnc;
}
};
t.setOpaque(false);//设置jtable本身为透明的
frame.getContentPane().add(lab,-1);//jframe本身是窗体,不能放置任何组件,用getContentPane()方法得到frame的默认内容面板,将lab放入其中,-1表示放入面板的下层
frame.getContentPane().add(t,0);//0表示放在面板的最顶层
Containercon=frame.getContentPane();
((JPanel)con).setOpaque(false);//设置面板为透明的
frame.setSize(500,500);
frame.setVisible(true);
}
}