public Class getColumnClass(int column)Java bestimmt, ob Sie einen Renderer von JTable angegeben haben oder nicht, andernfalls ruft JTable das Template auf und ruft das getColumnClass() wodurch der Zellentyp in der ersten Zeile abgerufen wird. Anschließend wird sie mit einer Liste von Datentypen verglichen, in denen die Ausgabeformate gespeichert sind. Diese Liste wird von JTable initiiert, aber Sie können sie hinzufügen oder bearbeiten. Zu den Renderings gehören ImageIcon und Icon.
{
return getValueAt(0, column).getClass();
}
import javax.swing.*;Ergebnis nach der Ausführung:
import javax.swing.table.*;
public class Table_image erweitert 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");
string[] title = {"Betriebssystem", "Beliebtheit"};
Objekt[][] 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 )
{
/*automatische Erkennung von Datentypen
*aller Spalten
*/
public Class getColumnClass(int column)
{
return getValueAt(0, column).getClass();
}
};
//Zeilenhöhe ändern
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 erweitert AbstractTableModel{Lesen Sie mehr über Editoren und Renderer auf der offiziellen Java-Website: Editoren und Renderer.
private Object[][]-Daten;
privater String[]-Titel;
public Model(Object[][] data, String[] title){
this.data = data;
this.title = Titel;
}
public Klasse getColumnClass(int column)
{
return getValueAt(0, column).getClass();
}
public int getColumnCount() {
return this.title.length;
}
public int getRowCount() {
return this.data.length;
}
public Objekt getValueAt(int row, int col) {
return this.data[row][col];
}
}
Please disable your ad blocker and refresh the window to use this website.