如何在另一个类中测试我的代码?

时间:2013-11-13 12:08:52

标签: java inheritance

我想通过将其作为另一个类中的实例运行来测试我的代码,但没有任何反应。 我以前能够做到这一点,但这次我无法让它发挥作用。我想我只是缺少一些简单的东西,但无法弄明白。对不起,这个问题对我来说可能是独一无二的,但是我迫切希望得到这方面的帮助,而且时间不多了。 感谢

这是我主要课程的代码

package minorb;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import java.util.*;

public class TableAddRows extends JFrame implements ActionListener {

    // Variables -------------------------------------------------------------

    double percOne = (0.1);
    double percTwo = (0.4);
    double percThree = (0.2);
    double percFour = (0.3);
    private JTable table;
    private JButton addRow;
    StudentManagement r = new StudentManagement();
    ArrayList<String> stu = new ArrayList<String>();

    // Methods ---------------------------------------------------------------
    public void TableAddRows() {

        this.getContentPane();
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        r.openFile();
        r.readFile();

        for(String s: stu) {
            String[] line = s.split(",");

            String[] tableCol = { "Name", "FAN", "Score 1", "Score 2", "Score 3", "Score 4", "Final Score", "Grade"  };

            Object[][] data = {
                { line[0], line[1],Double.parseDouble(line[2]),Double.parseDouble(line[3]),
                + Double.parseDouble(line[4]),Double.parseDouble(line[5]),
                    + Double.parseDouble(line[2])*(percOne) + Double.parseDouble(line[3])*(percTwo)+ Double.parseDouble(line[4])*(percThree) + Double.parseDouble(line[5])*(percFour)
                }, 
                {},
                {}
            };

            table = new JTable(new DefaultTableModel(data, tableCol));
            addRow = new JButton("Add Row");
            addRow.addActionListener(this);

            Container cp = getContentPane();
            cp.add(new JScrollPane(table));
            cp.add(addRow, BorderLayout.SOUTH);

            pack();
            this.setVisible(true);
        }
    }

    public void actionPerformed(ActionEvent ev) {
        if (ev.getSource() == addRow) {

            DefaultTableModel model = (DefaultTableModel) table.getModel();

            if (model.getRowCount() < 10) {
                model.addRow(new Object[] {});
            }
        }
    }

    public void pen () {
        new TableAddRows();        
    }

}

这是我用来尝试从其他类

运行它的代码
package minorb;

public class Minorb {

    public static void main(String[] args) {

        StudentManagement r = new StudentManagement();
        TableAddRows s = new TableAddRows();

        s.TableAddRows();

    }   
}

Netbeans发现代码没有错误 此应用程序的基本思想是读取txt文件并将该数据显示到表中

2 个答案:

答案 0 :(得分:0)

试试这个,将语句放在for循环之外

    for(String s: stu) {     
           pack();
        this.setVisible(true);

}

答案 1 :(得分:0)

TableAddRows s = new TableAddRows();

s.setVisible(真);

它的工作......但是你需要更正以保持漂亮