Java JTable:如何更改JTable外观

Java JTable:如何更改JTable外观,java,swing,jtable,Java,Swing,Jtable,我需要改变我的jtable外观 我有这些数据: 形象 标题字符串 日期字符串 描述字符串 编剧字符串 img,标题,日期,描述,作者。 我的问题是: 我是否可以在每一行显示这些数据作为twitter提要的外观。 我想用一个示例在同一单元格中显示所有这些数据 谢谢大家。您应该使用带有自定义单元格渲染器的JList(或JTable,但每行只有一个单元格,因此JList似乎更合适) 创建数据类 public class MyData { // image, title, date, descrip

我需要改变我的jtable外观

我有这些数据:

  • 形象

  • 标题字符串

  • 日期字符串
  • 描述字符串
  • 编剧字符串
  • img,标题,日期,描述,作者。 我的问题是:
    我是否可以在每一行显示这些数据作为twitter提要的外观。 我想用一个示例在同一单元格中显示所有这些数据


    谢谢大家。

    您应该使用带有自定义单元格渲染器的
    JList
    (或
    JTable
    ,但每行只有一个单元格,因此
    JList
    似乎更合适)

    创建数据类

    public class MyData {
      // image, title, date, description and author
    }
    
    创建单元渲染器

    class MyCellRenderer extends JLabel implements ListCellRenderer<MyData> {
    
         public Component getListCellRendererComponent(
           JList<?> list,           // the list
           MyData value,            // value to display
           int index,               // cell index
           boolean isSelected,      // is the cell selected
           boolean cellHasFocus)    // does the cell have focus
         {
             // tune your component in the way you want, for example
             this.setText(value.getTitle());
             // return the component to draw for this cell
             return this; 
         }
     }
    

    您应该创建自己的
    TableCellRenderer
    。网上有很多教程…TableCellRenderer有行和列的参数,使用这两个坐标定义GetColumnClass我创建类数据:public class Info{private int id_info;private String titre;private String description;private String lien;private String auteur;private String pub_date;private String guid;private String缩略图_url;private Image myImage;}它应该如何用于您的exemple@user3612862在我的示例中,可以用类
    Info
    替换
    MyData
    。有关单元渲染器的更多信息,请参见
    JList<MyData> list = new JList<>();
    list.setCellRenderer(new MyCellRenderer());