标题:带有背景的表格
取消只看楼主
gunshui
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-3-17
 问题点数:0 回复次数:2 
带有背景的表格

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.Graphics;

public class TabbedDemo{
public static void main(String[] args){
JFrame frame=new JFrame("Tabel");
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
ImageTable table=new ImageTable(15,3);
for(int i=0;i<table.getRowCount();i++){
for(int j=0;j<table.getColumnCount();j++){
table.setValueAt("("+i+","+j+")",i,j);
}
}

JScrollPane pane=new JScrollPane(table);
frame.getContentPane().add(pane);

frame.pack();
frame.show();
}
}

class ImageTable extends JTable{
ImageIcon image=new ImageIcon("1.jpg");

public Component prepareRender(TableCellRenderer render,int row,int column){
Component c=super.prepareRenderer(render,row,column);
if(c instanceof JComponent)
((JComponent)c).setOpaque(false);
return c;
}

public void paint(Graphics g){
setOpaque(false);
Dimension d=getSize();
for(int x=0;x<d.width;x+=image.getIconWidth())
for (int y=0;y<d.height;y+=image.getIconHeight())
g.drawIamge(image.getImage(),x,y,null,null);
super.paint(g);
}
}

搜索更多相关主题的帖子: import 表格 awt java public 
2006-03-27 23:39
gunshui
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-3-17
得分:0 

程序有点小错误,我检查不出来
还有就是
public Component prepareRender(TableCellRenderer render,int row,int column){
Component c=super.prepareRenderer(render,row,column);
if(c instanceof JComponent)
((JComponent)c).setOpaque(false);
return c;
}
这一端是做什么用的?什么机理呢?
谢谢

2006-03-27 23:41
gunshui
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-3-17
得分:0 

明白
谢谢

2006-03-28 17:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-53286-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.413664 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved