【问题标题】:How do I store and display values to be displayed in a JTextBox or JTable? [closed]如何存储和显示要在 JTextBox 或 JTable 中显示的值? [关闭]
【发布时间】:2013-03-22 01:18:38
【问题描述】:

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

我不知道如何存储变量。 java在安装JDK的时候会自带数据库吗?

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

    //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 
            */
        }
    });

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

【问题讨论】:

  • 请澄清您的问题,首先假设我们对您的确切要求或您想要做什么一无所知。还要澄清你所说的“存储”是什么意思。
  • 为什么要向 GUI 添加组件?为什么不简单地改变已经存在的组件显示的文本内容呢?总而言之,您的问题是一个非常令人困惑的问题。
  • 用户输入项目名称、部门、原价和百分比折扣。我必须在 JTextArea 或 JTable 中显示用户在 JFrame 打开时输入的每个 itemName、department、originalPrice 和 salesPrice。
  • 这应该是您原始问题的一部分。我在编辑中添加了它。
  • 删除重复的问题——不必要地拆分问题对本站的志愿者不公平!

标签: java swing jtable jtextarea


【解决方案1】:

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

更多详情,请查看How to use Tables

【讨论】:

  • 我真的需要一些代码,因为我不知道如何很好地处理模型。
  • @rainhider:我在回答中提供的教程链接中有示例代码。
  • 我还建议将各种元素封装到单个对象/类中,以便于管理数据 - 恕我直言
  • @MadProgrammer:是的。如果你这样做,那么最好使用 AbstractTableModel,其中模型的每一行都是类的对象。
猜你喜欢
  • 2014-02-01
  • 2020-01-17
  • 2019-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多