如何存储和显示要在JTextBox或JTable中显示的值?

时间:2013-03-22 01:18:38

标签: java swing jtable jtextarea

我必须存储变量:itemName,origPrice,salesPrice和department,然后显示JTextBox或JTable中的所有记录。无论显示什么,都必须能够将值添加到具有getContentPane();

的容器中

我不知道如何存储变量。安装JDK时java是否附带数据库?

此外,变量存储在一个动作侦听器中,显示值按钮具有不同的动作侦听器。

    //Calculate action listener
    buttonCalc.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent evt) {

        itemName = fieldItem.getText();            
        originalPrice = Double.parseDouble(fieldOrigPrice.getText());
        discount = Double.parseDouble(fieldDiscount.getText());            
        salesPrice = originalPrice - (originalPrice * discount);   

        //store these values 

         // sales price label
        JLabel label = new JLabel();        
         ...
        container.add( label );         

      }
    });

    //Display values action listener
     buttonDisplay.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent evt) {
           /*Must use a JTextArea or JTable to display all the stored values for:
            * 
            * Item name 
                Department
                Original price
                Sale price 
            */
        }
    });

编辑:用户输入项目名称,部门,原始价格和百分比折扣。我必须在用户在JFrame打开时输入的JTextArea或JTable中显示每个itemName,department,originalPrice和salesPrice。

1 个答案:

答案 0 :(得分:4)

您不需要数据库或任何此类实体,因为您不必担心程序关闭后数据持久存在。你需要的是一个TableModel来保存你的数据,比如一个DefaultTableModel对象,如果它很简单,或者一个扩展AbstractTableModel的类,如果你想要更多的灵活性。输入新数据时,向TableModel添加一个新行,并且(如果不是DefaultTableModel)调用其中一个fire数据更改方法。

有关详细信息,请查看How to use Tables