初学JAVA,忙了一夜编了个程序,怎么改也不能实现我想做的。我想在输入M,N后生成M*N的表格,向表格内写数,然后将数读到一个数组里。希望能够给予帮助。感激涕零!!!
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;public class M_N extends JFrame  {
  SpinnerModel model1 = new SpinnerNumberModel(1,1,100,1);
  JSpinner jSpinner1 = new JSpinner(model1);
  SpinnerModel model2 = new SpinnerNumberModel(1,1,100,1);
  JSpinner jSpinner2 = new JSpinner(model2);
  JLabel jLabel1 = new JLabel();
  JLabel jLabel2 = new JLabel();
  JButton jButton1 = new JButton();
  JButton jButton2=new JButton();
  JScrollPane jScrollPane1 = new JScrollPane();
  JTable jTable1 = new JTable(1,1);
  float[][] t=new float[100][100];
  int m=0,n=0;  public M_N() {
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }  public static void main(String[] args) {
    M_N m_N = new M_N();
    m_N.setVisible(true);
  }
  private void jbInit() throws Exception {
    this.getContentPane().setLayout(null);
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    this.setSize(new Dimension(400, 337));
    jSpinner1.setNextFocusableComponent(jSpinner2);
    jSpinner1.setPreferredSize(new Dimension(31, 26));
    jSpinner1.setBounds(new Rectangle(52, 53, 106, 26));
    //jSpinner1.setValue(new Integer(1));
    jSpinner2.setToolTipText("");
    jSpinner2.setBounds(new Rectangle(229, 54, 114, 26));
    //jSpinner2.setValue(new Integer(1));
    jLabel1.setText("请输入行数:");
    jLabel1.setBounds(new Rectangle(50, 8, 106, 28));
    jLabel2.setText("请输入列数:");
    jLabel2.setBounds(new Rectangle(226, 7, 115, 31));    jButton1.setBounds(new Rectangle(185, 98, 73, 25));
    jButton1.setText("确认");
    jButton1.addActionListener(new M_N_jButton1_actionAdapter(this));
    jButton2.setBounds(new Rectangle(105,98,73,25));
    jButton2.setText("初始化");
    jButton2.addActionListener(new M_N_jButton2_actionAdapter(this));
    jScrollPane1.setBounds(new Rectangle(59, 149, 294, 176));
    this.getContentPane().add(jSpinner1, null);
    this.getContentPane().add(jSpinner2, null);
    this.getContentPane().add(jLabel1, null);
    this.getContentPane().add(jLabel2, null);
    this.getContentPane().add(jButton1, null);
    this.getContentPane().add(jButton2, null);
    this.getContentPane().add(jScrollPane1, null);
    jScrollPane1.getViewport().add(jTable1, null);
  }  void dianjiqueren(ActionEvent e) {
    jScrollPane1.remove(jTable1);
    this.remove(jScrollPane1);
  
    m=Integer.parseInt(jSpinner1.getValue().toString());
    n=Integer.parseInt(jSpinner2.getValue().toString());
    jTable1 = new JTable(m,n);
    jTable1.setCellSelectionEnabled(true);
    jTable1.setColumnSelectionAllowed(true);
    jTable1.setRowSelectionAllowed(true);    jScrollPane1 = new JScrollPane(jTable1);
    jScrollPane1.setBounds(new Rectangle(43, 146, 315, 180));
    this.getContentPane().add(jScrollPane1, null);
    jScrollPane1.getViewport().add(jTable1, null);
    //this.validate();
    this.doLayout();
  }
  void chushihua(ActionEvent e){
  int i,j;
  for(i=0;i<m;i++)
  {
  for(j=0;j<n;j++)
  {t[i-1][j-1]=Float.parseFloat(jTable1.getValueAt(i,j).toString());
  }
  }
  }
class M_N_jButton1_actionAdapter implements java.awt.event.ActionListener {
  M_N adaptee;  M_N_jButton1_actionAdapter(M_N adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.dianjiqueren(e);
  }
 
}
class M_N_jButton2_actionAdapter implements java.awt.event.ActionListener{
M_N ad;
M_N_jButton2_actionAdapter(M_N ad){
this.ad=ad;
}
public void actionPerformed(ActionEvent e){
ad.chushihua(e);
}

}
}