1

食料品に基づく GUI プロジェクトに取り組んでいます。プログラムには、4 つのウィンドウがあります (1 つ目はメイン ウィンドウ、2 つ目は商品を在庫に追加して区切りテキスト ファイルに追加するウィンドウ、3 つ目は商品を在庫から削除すると共に区切りテキスト ファイルから削除するウィンドウ、4 つ目は区切りテキスト ファイルから削除するウィンドウです)。区切りテキストファイルから在庫に追加された製品を表示します。これで、3 つのウィンドウの作成が完了しましたが、在庫に追加された製品の表示に取り組んでいるようです。製品を表示するために、viewGroceryProductInventoryクラスにJTableが追加されたさまざまなウィンドウのすべてのウィンドウクラスを含むWindowsパッケージにファイルがあります。

    package prog24178.javaassassins.project.window;
    import java.util.ArrayList;
    import javax.swing.*;
    import javax.swing.table.*;
    import prog24178.javaassassins.guiproject.GroceryProduct;
    import prog24178.javaassassins.project.io.ViewProductsFromInventory;

  /**
    *
    * @author Bharat
    */
    public class ViewGroceryProductsWindow extends JPanel {

    //Create table with column names



                private String[] columnNames = {"Name of Product"
                                    ,"UPC Code","Price","Stock"
                                    ,"International","Department"};
                private Object[][] data = {};
                private DefaultTableModel tableModel = 
                               new DefaultTableModel(data,columnNames);
                private JTable table = new JTable(tableModel);



                public ViewGroceryProductsWindow(){
                JScrollPane jscroll = new JScrollPane(table);

                this.add(jscroll);


                tableModel.addRow(data);
         }

    }

製品を削除して区切りテキスト ファイルに追加するさまざまなクラスがある別の io パッケージがあります。ViewAGroceryProductInInventory クラスの場合、ファイルからのデータの抽出は完了しましたが、window パッケージの windows クラスで定義されている JTable の行にフィールドを追加するにはどうすればよいですか? 行を表示するには、行のデータを tableModel に挿入する必要があることを知っています。今、私が直面している問題は、別のパッケージの別のクラスからこれを行っていることです.ioパッケージのクラスからwindowパッケージのクラスの行データにテキストファイルからフィールドを追加するにはどうすればよいですか?

package prog24178.javaassassins.project.io;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Scanner;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import prog24178.javaassassins.guiproject.GroceryProduct;


/**
  *
  * @author Bharat
  */
 public class ViewProductsFromInventory{    


       Scanner input = null;  
       int counter = 0;

       public ViewProductsFromInventory(){

             File file = new File("GroceryProduct.txt");
             if(!file.exists()){
                    System.out.println("GroceryProduct.txt doesn't exist");
                    System.exit(0);
             }

             try{

                  input = new Scanner(file);
                  ArrayList<GroceryProduct> inventory = new ArrayList();
                  int counter=0;
                  while(input.hasNext()){

                       String record = input.next();      
                       String[] fields = record.split("\\|");

                       String nameOfProduct= fields[0];

                       String upcCodeOfProduct = fields[1];


                       double priceOfProduct = Double.parseDouble(fields[2]);
                       Boolean productInStock = Boolean.parseBoolean(fields[3]);
                       Boolean FromInternational = Boolean.parseBoolean(fields[4]);
                       String productDepartment = fields[5];                
                       GroceryProduct groceryProduct = 
                                      new GroceryProduct(nameOfProduct,
                                                        upcCodeOfProduct,priceOfProduct,
                                                         productInStock,
                                                       FromInternational,
                                                     productDepartment);


                       inventory.add(groceryProduct);

               }
                input.close();

               }catch(FileNotFoundException ex){

                System.out.print(ex.getLocalizedMessage());

             }
      }
   }
4

1 に答える 1