public Class getColumnClass(int column)Java は、JTable のレンダラーを指定したかどうかを判断し、指定しない場合、JTable はテンプレートを呼び出し、getColumnClass() は、最初の行のセルタイプを取得します。次に、レンディションが保存されているデータ型のリストと比較します。このリストはJTableによって開始されますが、追加または編集できます。レンダリングには ImageIcon と Icon.
{
return getValueAt(0, column).getClass();
}
import javax.swing.*;実行後の結果:
import javax.swing.table.*;
public class Table_image extends JFrame
{
public Table_image()
{
ImageIcon icon1 = new ImageIcon("1.png");
ImageIcon icon2 = new ImageIcon("2.png");
ImageIcon icon3 = new ImageIcon("3.png");
ImageIcon icon4 = new ImageIcon("4.png");
文字列[] title = {"オペレーティング システム", "人気度"};
オブジェクト[][] data =
{
{icon1, "Android: 76.6%"},
{icon2, "IOS: 19.7%"},
{icon3, "Windows Phone: 2.8%"},
{icon4, "BlackBerry OS: 1%"},
};
DefaultTableModel template = new DefaultTableModel(data, Title);
JTable table = new JTable( template )
{
/*データ型の自動検出
*すべての列
*/
public Class getColumnClass(int column)
{
return getValueAt(0, column).getClass();
}
};
//行の高さを変更
table.setRowHeight(100);
JScrollPane scrollPane = new JScrollPane( table);
getContentPane().add( scrollPane );
}
public static void main(String[] args)
{
Table_image frame = new Table_image();
frame.setDefaultCloseOperation( EXIT_ON_CLOSE );
frame.pack();
frame.setVisible(true);
}
}
class Model extends AbstractTableModel{エディタとレンダラーの詳細については、Javaの公式Webサイトを参照してください:Editors and Renderers。
private Object[][] data;><>
private String[] title;
public Model(Object[][] data, String[] title){
this.data = data;
this.title = タイトル;
}
public Class getColumnClass(int column)
{
return getValueAt(0, column).getClass();
}
public int getColumnCount() {
return this.title.length;
}
public int getRowCount() {
return this.data.length;
}
public Object getValueAt(int row, int col) {
return this.data[row][col];
}
}
Please disable your ad blocker and refresh the window to use this website.