我想通过将其作为另一个类中的实例运行来测试我的代码,但没有任何反应。 我以前能够做到这一点,但这次我无法让它发挥作用。我想我只是缺少一些简单的东西,但无法弄明白。对不起,这个问题对我来说可能是独一无二的,但是我迫切希望得到这方面的帮助,而且时间不多了。 感谢
这是我主要课程的代码
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文件并将该数据显示到表中
答案 0 :(得分:0)
试试这个,将语句放在for循环之外
for(String s: stu) {
pack();
this.setVisible(true);
}
答案 1 :(得分:0)
TableAddRows s = new TableAddRows();
s.setVisible(真);
它的工作......但是你需要更正以保持漂亮