import java.awt.*;
import java.awt.event.*;import javax.swing.*;public class Display extends JFrame implements ActionListener {

String temp;
// JTextArea show = new JTextArea(6, 60);
// 不含有数据和列名
JTable tableView; public Display(Double a[][]) {
super();
final int Width = 400;
final int Height = 220;

Double num[] = new Double[] { 0.0, 0.0, 0.0, 0.0, 0.0 };
for (int i = 0; i < 4; i++)
for (int j = 0; j < 5; j++)
num[j] += a[i][j];
Object[][] data = a;
Object[] hi = new Object[] { "P1", "P2", "P3", "P4", "P5" };
Double sum = 0.0;
int j;
for (int i = 0; i < 4; i++) {
for (j = 0; j < 5; j++) {

sum += a[i][j];
}
a[i][5] = sum;
sum=0.0;
}
for (int i = 0; i < 5; i++)
a[4][i] = num[i];
tableView = new JTable(data, hi);

setTitle("Result:");
addWindowListener(new WindowDestroyer()); setSize(Width, Height);
Container con = getContentPane();
con.setLayout(new BorderLayout()); JPanel he = new JPanel();
he.setBackground(Color.WHITE);
con.add(he);
he.add(tableView);
JButton submit = new JButton("Quit");
he.add(submit);
submit.addActionListener(this);
} public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("Quit")) {
System.exit(0); } }
}
static Double[][] record = new Double[5][6];
这是它接收的数组   但是最后现实只有5列  应该是6列啊   求大神指点==

解决方案 »

  1.   

    tableView = new JTable(data, hi);
    这里的hi是标题吧,你的代码标题固定是5个。数据显示应该就不能多余5列。两者不一致时都什么效果你可以试一试。
      

  2.   


    import java.awt.*;
    import java.awt.event.*;import javax.swing.*;public class Display extends JFrame implements ActionListener {
        
            String temp;
        // JTextArea show = new JTextArea(6, 60);
        // 不含有数据和列名
        JTable tableView;    public Display(Double a[][]) {
            super();
            final int Width = 400;
            final int Height = 220;
            
            Double num[] = new Double[] { 0.0, 0.0, 0.0, 0.0, 0.0 };
            for (int i = 0; i < 4; i++)
                for (int j = 0; j < 5; j++)
                    num[j] += a[i][j];
            Object[][] data = a;
            Object[] hi = new Object[] { "P1", "P2", "P3", "P4", "P5", "" }; //标题再加一列
            Double sum = 0.0;
            int j;
            for (int i = 0; i < 4; i++) {
                for (j = 0; j < 5; j++) {
                    
                    sum += a[i][j];
                }
                a[i][5] = sum;
                sum=0.0;
            }
            for (int i = 0; i < 5; i++)
                a[4][i] = num[i];
            tableView = new JTable(data, hi);
            
            setTitle("Result:");
            //addWindowListener(new WindowDestroyer());        setSize(Width, Height);
            Container con = getContentPane();
            con.setLayout(new BorderLayout());        JPanel he = new JPanel();
            he.setBackground(Color.WHITE);
            con.add(he);
            he.add(tableView);
            JButton submit = new JButton("Quit");
            he.add(submit);
            submit.addActionListener(this);
        }    public void actionPerformed(ActionEvent e) {
            if (e.getActionCommand().equals("Quit")) {
                System.exit(0);        }    }
        
        public static void main(String[] args)
        {
         Double[][] ds = new Double[5][6];
         for (int i = 0; i < 4; i++)
         {
         for (int j = 0; j < 5; j++)
         {
         ds[i][j] = Double.valueOf(i * j + 1);
         }
         }
         JFrame frame = new Display(ds);
         frame.pack();
         frame.setVisible(true);
         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
    }