JTable的复杂对象

时间:2014-07-07 20:20:47

标签: java swing arraylist jtable

所以,我正在尝试为我父亲在他的汽车商店使用的库存跟踪程序。我正在创建它以帮助更好地学习Java;他的生意很小,没有它就可以管理。

我有一个类扩展我的主类来处理数据。我将发布此课程的相关代码。我需要在JTable中显示这些数据。是的,我知道这里有一些非常相似的问题。我已经通读了他们,但仍然不了解如何将这些应用到我的情况中。尽管我希望能够阅读并获得它,但它并没有为我点击。请耐心等待我?我非常感谢你的帮助。

所以,基本上,我有一个部分对象构造函数(私有类部分是类数据的子类),它包含几个值。

    private class Part
    {
        // Part constructor
        Part(String partName, String Make, String PartNumber,
                String altPartNumber, BigDecimal price, int quantity,
                String description, boolean autoMotive, boolean marine,
                boolean industrial)
        {
            parts.add(this);
        }

描述字符串不需要显示在表中;它只需要与特定部分(由表中的一行表示)相关联,这样当突出显示部件时,右侧的面板可以读取该数据并显示它。布尔就在那里,以便我可以按应用程序过滤零件,也不需要显示。

我有几个零件对象存储在ArrayList中。

    private ArrayList<Part> parts ;

我正在尝试编写一个主类可以调用以获取此数据并将其显示在表中的方法。问题是,JTable想要一些Object [] []类型的东西。如何创建允许其接受我的数据或以我可以显示的方式修改数据的内容?

其他有些相关的代码:

    private transient final String [] columnNames = {
        "Name",
        "Make",
        "Part #",
        "Alt. part #",
        "Price",
        "Qty."
    };

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

  

所以说我要创建一个自定义表模型;我不明白什么;如何从显示的数据中分离出未显示的数据?

您可以控制它,因为您实现了TableModel的方法。您可以控制显示哪些列,并通过getValueAt(...)setValueAt(...)方法控制从对象访问数据的方式。

查看行表模型中的JButtonTableModel.java示例。 RowTableModel提供支持任何自定义类的通用代码。该示例显示了显示JButton类中4个特定数据列所需的自定义。