Bonjour, J'ai créé le code suivant. Le problème est que l'image ne s'affiche pas dans la colonne JTable.L'image ne s'affiche pas dans JTable (Java Swing)
Je développe le DefaultTableModel et remplace la méthode getColumnClass. Il a été suggéré que c'était une façon de le faire. Des indices? le code est ci-dessous.
//package javaapplication12;
import javax.swing.*;
public class NewJFrame2 extends javax.swing.JFrame {
/** Creates new form NewJFrame */
public NewJFrame2() {
initComponents();
}
public class imageTableModel extends javax.swing.table.DefaultTableModel
{
imageTableModel(Object[][] data, Object[] columnNames)
{
super(data,columnNames);
}
@Override
public Class getColumnClass(int column)
{
if (column == 0)
{
return ImageIcon.class;
}
return Object.class;
// other code; default to Object.class
}
}
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jTable1.setModel(new imageTableModel(
new Object [][] {
{new ImageIcon("simply.jpg"), "pp"},
},
new String [] {
"image", "name"
}
));
jScrollPane1.setViewportView(jTable1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(19, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(19, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewJFrame2().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
// End of variables declaration
}
en double de http://stackoverflow.com/questions/1006921/how-do-i-get-a-an-image-to-display-in-jtable -in-java-swing/1006948 # 1006948. N'avez-vous même pas essayé l'une des réponses suggérées? – Mark
J'ai essayé de prendre la route la plus facile. Si vous google cellule image jtable. Il vous dirige vers http://www.coderanch.com/t/345266/Swing-AWT-SWT-JFace/java/Image-JTable-Cell –