ورود

View Full Version : قرار دادن عكس در Columen هاي Jtable



pouria_bayat
جمعه 12 فروردین 1390, 21:36 عصر
سلام دوستان چطوري ميشه كه براي يك ستون از Jtable يك عكس گذاشت مثلا براي ستون نام يك عكس هم كنار نام قرار بگيره.
ممنون لطفا جواب بديد.

pouria_bayat
شنبه 13 فروردین 1390, 00:19 صبح
پيداش كردم

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

public class IconColumnHeader{
JTable table;
JTableHeader header;
ImageIcon imageIcon;
public static void main(String[] args) {
new IconColumnHeader();
}

public IconColumnHeader(){
JFrame frame = new JFrame("An Icon in a Column Head of a JTable!");
JPanel panel = new JPanel();
String data[][] = {{"Vinod","Computer","3"},
{"Rahul","History","2"},
{"Manoj","Biology","4"},
{"Sanjay","PSD","5"}};
String col [] = {"Name","Course","Year"};
DefaultTableModel model = new DefaultTableModel(data,col);
table = new JTable(model);
imageIcon = new ImageIcon("bt_home.gif");
SetIcon(table, 1, imageIcon,"Home");
imageIcon = new ImageIcon("icon_evil.gif");
SetIcon(table, 0, imageIcon,"Name");
header = table.getTableHeader();
header.setBackground(Color.yellow);
JScrollPane pane = new JScrollPane(table);
panel.add(pane);
frame.add(panel);
frame.setSize(500,150);
frame.setUndecorated(true);
frame.getRootPane().setWindowDecorationStyle(JRoot Pane.PLAIN_DIALOG);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);
frame.setVisible(true);
}

public void SetIcon(JTable table, int col_index, ImageIcon icon,String name){
table.getTableHeader().getColumnModel().getColumn( col_index).setHeaderRenderer
(new iconRenderer());
table.getColumnModel().getColumn(col_index).setHea derValue(new txtIcon(name, icon));
}

public class iconRenderer extends DefaultTableCellRenderer{
public Component getTableCellRendererComponent(JTable table,
Object obj,boolean isSelected, boolean hasFocus, int row, int column) {
txtIcon i = (txtIcon)obj;
if (obj == i) {
setIcon(i.imageIcon);
setText(i.txt);
}
setBorder(UIManager.getBorder("TableHeader.cellBorder"));
setHorizontalAlignment(JLabel.CENTER);
return this;
}
}

public class txtIcon {
String txt;
ImageIcon imageIcon;
txtIcon(String text, ImageIcon icon) {
txt = text;
imageIcon = icon;
}
}
}

گفتم شايد لازم بشه يك روزي !!!