初学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);
}
}
}
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);
}
}
}
int i,j;
for(i=0;i<m;i++) {
for(j=0;j<n;j++) {
t[i][j]=Float.parseFloat(jTable1.getValueAt(i,j).toString());
}
}
}