当前位置: 首页 > 知识库问答 >
问题:

如何创建不直接赋值的JTable

钱飞翼
2023-03-14
String data[][]= new String[4][10];  
String columnHeaders[]={"Invoice ID","Invoice Name","Customer", "Complete?"};  

DefaultTableModel model = new DefaultTableModel(data, columnHeaders) {

boolean[] Editable= new boolean[]{
                false, false, false, true
        };

        public boolean isCellEditable(int rowIndex, int columnIndex) {
            return editableCells[columnIndex];
        }

@Override
public Class<?> getColumnClass(int columnIndex)
{
    return columnClass[columnIndex];
}
};

JTable table=new JTable(model);  

JScrollPane tableContainer=new JScrollPane(table);      

final Class[] columnClass = new Class[] 
{
Integer.class, String.class, String.class, Boolean.class
};

 public void launch()
 {
this.setLayout(new FlowLayout());
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    


this.add(invoiceViewPanel);
invoiceViewPanel.add(tableContainer);
this.add(tableContainer);

this.setTitle("Invoices");
this.setSize(500,600);
this.setVisible(true);
this.setResizable(false);

 }

001/电视购买/约翰·史密斯/真

002/冰箱购买/让·史密斯/假

共有1个答案

戚修雅
2023-03-14

所有Swing组件都使用模型。要更新组件,需要更新模型。

因此,在JTable的情况下,您可以使用以下命令为表创建一个“空”模型:

String[] columnNames = { "Column1", "Column2", ... };
DefaultTableModel model = new DefaultTableModel(columnNames, 0);
JTable table = new JTable( model );

现在,当您想要向模型添加数据时,可以使用:

Object[] row = {"data1", data2", ... };
model.addRow( row );
 类似资料:
  • 定义String对象直接使用“=”赋值和new 创建对象赋值有什么区别? 在研究String直接赋值与new String的区别之前我们需要先了解java中的字符串常量池的概念。 字符串常量池 String类是我们平常项目中使用频率非常高的一种对象类型,jvm为了提升性能和减少内存开销,避免字符的重复创建,其维护了一块特殊的内存空间,即字符串池

  • 我正在使用JDBC和MySQL。 我可以创建文本字段并将其内容作为记录输入到MySQL表中(然后填充相应的javafx TableView)。 我想知道用户是否可以通过点击TableView单元格直接向TableView添加新记录。 这样做会是一个好的做法吗?TableView显示销售发票的详细信息,如项目名称、销售数量、价格等。

  • [信息][06/03/2014 01:35:25.290][twitter-akka.actor.default-dispatcher-4][Akka://twitter/user/$A/$H/$A]从演员[Akka://twitter/user/$A/$H#11 902 56968]到演员[Akka://twitter/user/$A/$H/$A#-1918790382]的消息[twitterP

  • 把大象装进冰箱分几步?三步:把冰箱门打开,把大象装进去,关门,搞定~ 新建接口分几步?也是三步: 获取权限 找到一个项目 新建接口 搞定~ 获取权限 新用户登录拥有 个人空间 分组下的全部权限,个人空间分组仅自己可见,因此可以在这里任意试用 YApi 的功能。 除此以外没有任何项目或分组的权限,只能浏览已存在分组下面的公开项目。 如果找不到想找的项目,可能是尚未成为项目成员,此时应联系 项目组长

  • 我正在使用现有的Java代码,其中在部署的系统上有一个现有的JDBC连接池机制,并且有一个已经存在的获取JDBC连接的设置。我想利用这一点来创建MyBatis SqlSession对象,而不创建配置、数据源和其他东西 我的代码已经创建了对象,并为其提供了所需的资源。我想利用这一点,获得对象,并从此使用MyBatis。 我不希望MyBatis管理连接池,确定使用哪个数据源等等,这可能吗?

  • 在我现在的公司,我们正在启动一个新项目,它将是Java的REST API,部署在像Tomcat这样的servlet容器中。在我以前使用REST框架的经验中,如JAX-RS与泽西、JBOSS REST Easy、Spring MVC,我知道使用像这样的框架比直接编写Servlet来处理请求有什么优势。 (当然,我们知道上述框架仍在幕后使用servlet) 我发现很难说服他们。因为他们建议编写serv