Search code examples
javadatabasenetbeanssumjtextfield

Java jTextField sum


We are working on a bookstore project. Looking at the code below, I need to add up all the DB values ​​in the price column and then output the value to the jtextfield. How should I write the code...?

Thank you for your feedback.

public void jTableMain() {
        MyQuery1 mq1 = new MyQuery1();
        ArrayList<Carrier1> list = mq1.BookTable1();
        String[] columnName = {"책 코드", "책 이름", "로 고", "가 격"};
        Object[][] rows = new Object[list.size()][4];
        int sum = 0;
        
        for(int i = 0; i < list.size(); i++) {
            rows[i][0] = list.get(i).getBook_code();
            rows[i][1] = list.get(i).getBook_name();
            
            if(list.get(i).getBookImage() != null) {
                ImageIcon image = new ImageIcon(new ImageIcon(list.get(i).getBookImage()).getImage().getScaledInstance(100, 90, Image.SCALE_SMOOTH));
                
                rows[i][2] = image;
            }
            else{
                rows[i][2] = null;
            }
            
            rows[i][3] = list.get(i).getPrice();
           
            
        }
        
        TheModel model = new TheModel (rows, columnName);
        
        jTableMain.setModel(model); // 데이터 불러오기
        jTableMain.setRowHeight(90); // JTable 높이 지정
        jTableMain.getColumnModel().getColumn(2).setPreferredWidth(100); 
    
        // jTableSubMain에 데이터 불러오기
        jTableSubMain.setModel(model); 

Solution

  • You could try this: You don't have a JTextField in your code fragment, but you would convert the sum to a String and set the text of the JTextField.

    public void jTableMain() {
            MyQuery1 mq1 = new MyQuery1();
            ArrayList<Carrier1> list = mq1.BookTable1();
            String[] columnName = {"책 코드", "책 이름", "로 고", "가 격"};
            Object[][] rows = new Object[list.size()][4];
            int sum = 0;
            
            for(int i = 0; i < list.size(); i++) {
                // Make these changes
                Carrier1 carrier = list.get(i);
                rows[i][0] = carrier.getBook_code();
                rows[i][1] = carrier.getBook_name();
                
                if(carrier.getBookImage() != null) {
                    ImageIcon image = new ImageIcon(new ImageIcon(carrier.getBookImage()).getImage().getScaledInstance(100, 90, Image.SCALE_SMOOTH));
                    rows[i][2] = image;
                } else {
                    rows[i][2] = null;
                }
                
                // Make these changes
                int price = carrier.getPrice();
                sum += price;
                rows[i][3] = price;
            }
            
            TheModel model = new TheModel (rows, columnName);
            
            jTableMain.setModel(model); // 데이터 불러오기
            jTableMain.setRowHeight(90); // JTable 높이 지정
            jTableMain.getColumnModel().getColumn(2).setPreferredWidth(100); 
        
            // jTableSubMain에 데이터 불러오기
            jTableSubMain.setModel(model);