首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

高分求解.解决办法

2011-12-30 
高分求解.........................importjava.awt.*importjava.awt.event.*importjavax.swing.*import

高分求解.........................
import   java.awt.*;
import   java.awt.event.*;
import   javax.swing.*;
import   java.util.*;

class   studentDataTableFrame   extends   JFrame
{
private   static   final   int   WIDTH   =   300;
        private   static   final   int   HEIGHT   =   200;  

JButton   okButton;
JButton   cancelButton;
Box   selectBox;
Vector   studentData;
JTable   sutdentDataTable;
String   []   head;
JScrollPane   sutdentDataScrollPane1;
Object[][]   content;

studentDataTableFrame()
{
builderTable();
builderButton();

setLayout(new   BorderLayout());
setTitle( "学生信息 ");
setSize(WIDTH,   HEIGHT);
setLocation(WIDTH,HEIGHT);
add(sutdentDataScrollPane1,BorderLayout.CENTER);
add(selectBox,BorderLayout.SOUTH);

                setVisible(true);//显示

addWindowListener   (new   WindowAdapter   ()
{
public   void   windowClosing(WindowEvent   e)  
{
System.exit(0);
}
})   ;//关闭
}

void   builderTable()
{
studentData   =   new   Vector   ()   ;
head   =   new   String[]{ "姓名 ", "学号 ", "性别 ", "籍贯 ", "简单介绍 "};
//Object[][]   content   =   {{ " "},{ " "}};
sutdentDataTable   =   new   JTable();
sutdentDataScrollPane1   =   new   JScrollPane   (sutdentDataTable);
}

void   builderButton()
{
okButton   =   new   JButton( "增加 ");
                cancelButton   =   new   JButton( "关闭 ");
                selectBox   =   Box.createHorizontalBox();
                selectBox.add(Box.createHorizontalStrut(40));

                selectBox.add(okButton);
                selectBox.add(Box.createHorizontalGlue());
                selectBox.add(cancelButton);
                selectBox.add(Box.createHorizontalStrut(40));

okButton.addActionListener   (new   ActionListener   ()
{
public   void   actionPerformed   (ActionEvent   e)
{
new   studentMessageInputDialog(studentDataTableFrame.this);
}
})   ;

cancelButton.addActionListener   (new   ActionListener   ()
{
public   void   actionPerformed   (ActionEvent   e)
{
System.exit(0);
}

})   ;
}

void   addData(String   s)//(Vector   Data)
{
System.out.println(s);
/*studentData.add   (Data)   ;
StudentDataModel   dm   =   new   StudentDataModel   (head   ,   studentData)   ;
sutdentDataTable.setModel   (dm)   ;*/
}

public   static   void   main(String[]   args)
{
new   studentDataTableFrame();
}
}
--------------------------------------



import   java.awt.*;
import   java.awt.event.*;
import   javax.swing.*;
import   java.util.Vector;

class   studentMessageInputDialog   extends   JDialog
{
private   static   final   int   WIDTH   =   300;
        private   static   final   int   HEIGHT   =   200;    

JLabel   nameLabel;
JLabel   numberLabel;
JLabel   sexLabel;
JLabel   addressLabel;
JLabel   commentLabel;
JTextField   nameTextField;
JTextField   numberTextField;
JComboBox   sexComboBox;
JComboBox   addressCombo;
JTextArea   commentTextArea;
JScrollPane   commentScrollPane;
        JPanel   inputPanel;
JButton   okButton;
JButton   cancelButton;
Box   selectBox;
studentDataTableFrame   frm;

        studentMessageInputDialog(studentDataTableFrame   frm)
        {
super   (frm);

builderInputPanel();
builderButton();

//必要的设置
setLayout(new   BorderLayout());
                setTitle( "学生信息输入界面 ");
                setSize(WIDTH,   HEIGHT);
setLocation(WIDTH,HEIGHT);
add(inputPanel,BorderLayout.CENTER);
add(selectBox,BorderLayout.SOUTH);

                setVisible(true);//显示

addWindowListener   (new   WindowAdapter   ()
{
public   void   windowClosing(WindowEvent   e)  
{
dispose();
}
})   ;
        }


void   builderInputPanel()
{
inputPanel   =   new   JPanel();

//网格组布局
                GridBagLayout   layout   =   new   GridBagLayout();
                inputPanel.setLayout(layout);
               
                nameLabel   =   new   JLabel( "姓名:   ");
                nameTextField   =   new   JTextField(10);

                numberLabel   =   new   JLabel( "学号:   ");
                numberTextField   =   new   JTextField(10);
               
sexLabel   =   new   JLabel( "性别:   ");
sexComboBox   =   new   JComboBox(new   String[]{ "男 ",   "女 "});
   
addressLabel   =   new   JLabel( "籍贯:   ");
addressCombo   =   new   JComboBox(new   String[]
{ "南宁 ",   "柳州 ",   "桂林 ",   "北海 ",   "防城港 "});
 
commentLabel   =   new   JLabel( "简   单   介   绍 ");
commentTextArea   =   new   JTextArea();
commentTextArea.setLineWrap(true);          

commentScrollPane=new   JScrollPane(commentTextArea);


//   添加到框架
GridBagConstraints   constraints   =   new   GridBagConstraints

constraints.fill   =   GridBagConstraints.NONE;
constraints.anchor   =   GridBagConstraints.CENTER;
constraints.weightx   =   0;
constraints.weighty   =   1;

input(nameLabel,   constraints,   0,   0,   1,   1);
input(numberLabel,   constraints,   0,   1,   1,   1);
input(sexLabel,   constraints,   0,   2,   1,   1);
input(addressLabel,   constraints,   0,   3,   1,   1);
input(commentLabel,   constraints,   2,   0,   1,   1);

constraints.fill   =   GridBagConstraints.HORIZONTAL;
constraints.weightx   =   1;

input(nameTextField,   constraints,   1,   0,   1,   1);
input(numberTextField,   constraints,   1,   1,   1,   1);
input(sexComboBox,   constraints,   1,   2,   1,   1);
input(addressCombo,   constraints,   1,   3,   1,   1);

constraints.fill   =   GridBagConstraints.BOTH;
input(commentScrollPane,   constraints,   2,   1,   1,   3);
}

void   builderButton()
{
okButton   =   new   JButton( "增加 ");
cancelButton   =   new   JButton( "关闭 ");

selectBox   =   Box.createHorizontalBox();

selectBox.add(Box.createHorizontalStrut(40));

selectBox.add(okButton);


selectBox.add(Box.createHorizontalGlue());

selectBox.add(cancelButton);
selectBox.add(Box.createHorizontalStrut(40));
   
okButton.addActionListener   (new   ActionListener   ()
{
public   void   actionPerformed   (ActionEvent   e)
{
/*Vector   v   =   new   Vector   ()   ;
v.add   (nameTextField.getText   ())   ;
v.add   ((String)sexComboBox.getSelectedItem())   ;
v.add   ((String)addressCombo.getSelectedItem())   ;
v.add   (commentTextArea.getText());*/
studentMessageInputDialog.this.frm.addData   ( "无法实现...
")   ;//无法实现...
}
})   ;

cancelButton.addActionListener   (new   ActionListener   ()
{
public   void   actionPerformed   (ActionEvent   e)
{
dispose();
}
})   ;
}

void   input(Component   c,   GridBagConstraints   constraints,
                int   x,   int   y,   int   w,   int   h)
        {    
                constraints.gridx   =   x;
                constraints.gridy   =   y;
                constraints.gridwidth   =   w;
                constraints.gridheight   =   h;
                inputPanel.add(c,   constraints);
        }
}
----------------------------------------------

得到了父窗体的对象的引用,为什么不能调用里面的方法..................
求解.........................


------解决方案--------------------


package common;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Vector;

class studentMessageInputDialog extends JDialog
{
private static final int WIDTH = 300;
private static final int HEIGHT = 200;

JLabel nameLabel;
JLabel numberLabel;
JLabel sexLabel;
JLabel addressLabel;
JLabel commentLabel;
JTextField nameTextField;
JTextField numberTextField;
JComboBox sexComboBox;
JComboBox addressCombo;
JTextArea commentTextArea;
JScrollPane commentScrollPane;
JPanel inputPanel;
JButton okButton;
JButton cancelButton;
Box selectBox;
studentDataTableFrame frm;

studentMessageInputDialog(studentDataTableFrame frm1)
{
super (frm1);
frm = new studentDataTableFrame();
builderInputPanel();
builderButton();

//必要的设置
this.getContentPane().setLayout(new BorderLayout());
setTitle( "学生信息输入界面 ");
setSize(WIDTH, HEIGHT);
setLocation(WIDTH,HEIGHT);
this.getContentPane().add(inputPanel,BorderLayout.CENTER);
this.getContentPane().add(selectBox,BorderLayout.SOUTH);

setVisible(true);//显示

addWindowListener (new WindowAdapter ()
{
public void windowClosing(WindowEvent e)
{
dispose();
}
}) ;
}


void builderInputPanel()
{
inputPanel = new JPanel();

//网格组布局
GridBagLayout layout = new GridBagLayout();
inputPanel.setLayout(layout);

nameLabel = new JLabel( "姓名: ");
nameTextField = new JTextField(10);

numberLabel = new JLabel( "学号: ");
numberTextField = new JTextField(10);

sexLabel = new JLabel( "性别: ");
sexComboBox = new JComboBox(new String[]{ "男 ", "女 "});

addressLabel = new JLabel( "籍贯: ");
addressCombo = new JComboBox(new String[]
{ "南宁 ", "柳州 ", "桂林 ", "北海 ", "防城港 "});

commentLabel = new JLabel( "简 单 介 绍 ");
commentTextArea = new JTextArea();
commentTextArea.setLineWrap(true);

commentScrollPane=new JScrollPane(commentTextArea);

// 添加到框架
GridBagConstraints constraints = new GridBagConstraints();

constraints.fill = GridBagConstraints.NONE;
constraints.anchor = GridBagConstraints.CENTER;
constraints.weightx = 0;
constraints.weighty = 1;

input(nameLabel, constraints, 0, 0, 1, 1);
input(numberLabel, constraints, 0, 1, 1, 1);
input(sexLabel, constraints, 0, 2, 1, 1);
input(addressLabel, constraints, 0, 3, 1, 1);
input(commentLabel, constraints, 2, 0, 1, 1);

constraints.fill = GridBagConstraints.HORIZONTAL;
constraints.weightx = 1;

input(nameTextField, constraints, 1, 0, 1, 1);
input(numberTextField, constraints, 1, 1, 1, 1);
input(sexComboBox, constraints, 1, 2, 1, 1);
input(addressCombo, constraints, 1, 3, 1, 1);

constraints.fill = GridBagConstraints.BOTH;
input(commentScrollPane, constraints, 2, 1, 1, 3);
}

void builderButton()
{
okButton = new JButton( "增加 ");
cancelButton = new JButton( "关闭 ");

selectBox = Box.createHorizontalBox();

selectBox.add(Box.createHorizontalStrut(40));

selectBox.add(okButton);


selectBox.add(Box.createHorizontalGlue());



selectBox.add(cancelButton);
selectBox.add(Box.createHorizontalStrut(40));

okButton.addActionListener (new ActionListener ()
{
public void actionPerformed (ActionEvent e)
{
/*Vector v = new Vector () ;
v.add (nameTextField.getText ()) ;
v.add ((String)sexComboBox.getSelectedItem()) ;
v.add ((String)addressCombo.getSelectedItem()) ;
v.add (commentTextArea.getText());*/
frm.addData ( "无法实现... ") ;//无法实现...
}
}) ;

cancelButton.addActionListener (new ActionListener ()
{
public void actionPerformed (ActionEvent e)
{
dispose();
}
}) ;
}

void input(Component c, GridBagConstraints constraints,
int x, int y, int w, int h)
{
constraints.gridx = x;
constraints.gridy = y;
constraints.gridwidth = w;
constraints.gridheight = h;
inputPanel.add(c, constraints);
}
}


package common;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;

class studentDataTableFrame extends JFrame
{
private static final int WIDTH = 300;
private static final int HEIGHT = 200;

JButton okButton;
JButton cancelButton;
Box selectBox;
Vector studentData;
JTable sutdentDataTable;
String [] head;
JScrollPane sutdentDataScrollPane1;
Object[][] content;

studentDataTableFrame()
{
builderTable();
builderButton();
this.getContentPane().setLayout(new BorderLayout());
//setLayout(new BorderLayout());
setTitle( "学生信息 ");
setSize(WIDTH, HEIGHT);
setLocation(WIDTH,HEIGHT);
this.getContentPane().add(sutdentDataScrollPane1,BorderLayout.CENTER);
this.getContentPane().add(selectBox,BorderLayout.SOUTH);

setVisible(true);//显示

addWindowListener (new WindowAdapter ()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}) ;//关闭
}

void builderTable()
{
studentData = new Vector () ;
head = new String[]{ "姓名 ", "学号 ", "性别 ", "籍贯 ", "简单介绍 "};
//Object[][] content = {{ " "},{ " "}};
sutdentDataTable = new JTable();
sutdentDataScrollPane1 = new JScrollPane (sutdentDataTable);
}

void builderButton()
{
okButton = new JButton( "增加 ");
cancelButton = new JButton( "关闭 ");
selectBox = Box.createHorizontalBox();
selectBox.add(Box.createHorizontalStrut(40));

selectBox.add(okButton);
selectBox.add(Box.createHorizontalGlue());
selectBox.add(cancelButton);
selectBox.add(Box.createHorizontalStrut(40));

okButton.addActionListener (new ActionListener ()
{
public void actionPerformed (ActionEvent e)
{
new studentMessageInputDialog(studentDataTableFrame.this);
}
}) ;

cancelButton.addActionListener (new ActionListener ()
{
public void actionPerformed (ActionEvent e)
{
System.exit(0);
}

}) ;
}

void addData(String s)//(Vector Data)
{
System.out.println(s);
/*studentData.add (Data) ;
StudentDataModel dm = new StudentDataModel (head , studentData) ;
sutdentDataTable.setModel (dm) ;*/
}

public static void main(String[] args)
{


new studentDataTableFrame();
}
}



[解决办法]
studentMessageInputDialog(studentDataTableFrame frm)
{
super (frm);

this.frm = frm; //需要在此对frm赋值

builderInputPanel();
builderButton();

//必要的设置
setLayout(new BorderLayout());
setTitle( "学生信息输入界面 ");
setSize(WIDTH, HEIGHT);
setLocation(WIDTH,HEIGHT);
add(inputPanel,BorderLayout.CENTER);
add(selectBox,BorderLayout.SOUTH);

setVisible(true);//显示

addWindowListener (new WindowAdapter ()
{
public void windowClosing(WindowEvent e)
{
dispose();
}
}) ;
}
[解决办法]
JFrame不可以直接 add的 要 this.getContentPane().add

还有你的frm 没有实例化他 所以不能调用 adddate的方法

你用eclipse 编译你的 程序他回给你好多出错提示的
我就是根据他的提示修改 的你的程序的啦 呵呵

热点排行