有两个JFrame A(主窗体) 和 JFrame B(参数窗体提供注册的信息)在Frame A 中按下添加按钮后弹出B窗体,在B窗体中填写入注册的信息后数据库中添加一条相应的记录,但如何使 B中的数据传到A窗体中 使得A窗体中的JTable表刷新. 我用的是在A窗体的JTable中应用addRow方法添加一条记录,但数据传不进来,因为 在B中给A窗体传数据时用 JFrame A = new JFrame() 这样就新创建了一个A窗体,这个方法不对,但我想不到别的方法了,还有如何在A窗体中添加何种监听器来使A窗体来驱动 DefaultTableModel的addRow()的方法来增加一条数据呢 ? 请指教.
-------------------------------
是不是你做不出来的东西就认为有难度?????有两个JFrame A(主窗体) 和 JFrame B(参数窗体提供注册的信息)在Frame A 中按下添加按钮后弹出B窗体,在B窗体中填写入注册的信息后数据库中添加一条相应的记录,但如何使 B中的数据传到A窗体中 使得A窗体中的JTable表刷新. 我用的是在A窗体的JTable中应用addRow方法添加一条记录,但数据传不进来,因为 在B中给A窗体传数据时用 JFrame A = new JFrame() 这样就新创建了一个A窗体,这个方法不对,但我想不到别的方法了,还有如何在A窗体中添加何种监听器来使A窗体来驱动 DefaultTableModel的addRow()的方法来增加一条数据呢 ? 请指教.
----------------------
JFrane B完全该用JDialog代替. 一定要用Frame的话,就把JFrame A写成单例的.
JFrame A 的DefaultTableModel对象也写单例就行了. 要不就用观察者. 方法多了去了.
-------------------------------
是不是你做不出来的东西就认为有难度?????
----------------------------------------
如果没有这句"有难度量小误进,免得睡不好觉",就不会有这句"是不是你做不出来的东西就认为有难度?????";有两个JFrame A(主窗体) 和 JFrame B(参数窗体提供注册的信息)在Frame A 中按下添加按钮后弹出B窗体,在B窗体中填写入注册的信息后数据库中添加一条相应的记录,但如何使 B中的数据传到A窗体中使得A窗体中的JTable表刷新. 我用的是在A窗体的JTable中应用addRow方法添加一条记录,但数据传不进来,因为在B中给A窗体传数据时用 JFrame A = new JFrame() 这样就新创建了一个A窗体,这个方法不对,但我想不到别的方法了,还有如何在A窗体中添加何种监听器来使A窗体来驱动 DefaultTableModel的addRow()的方法来增加一条数据呢 ? 请指教.
----------------------
JFrane B完全该用JDialog代替. 一定要用Frame的话,就把JFrame A写成单例的.
JFrame A 的DefaultTableModel对象也写单例就行了. 要不就用观察者. 方法多了去了.
----------------------------
注意: 我说的是"JFrane B完全该用JDialog代替", 给Frame上的组件赋值本来就该用Dialog.
两个Frame之间传值当然可以. 你可以参考这个:
http://community.csdn.net/Expert/TopicView3.asp?id=4951338
private int id = 0;
public void addListener(DataChangeListener listener){
if(!listeners.contain(listener)){
listeners.add(listener);
}
}
public void addRecord(){
id++;
notifyListener();
} public int getId(){
return id;
} private void notifyListener(){
for(int i = 0; i < listeners.size(); i++){
listeners.get(i).onAdd(getId);
}
}
}abstract class DataChangeListener{
protected void onAdd(int id);
}class frameA{
datas.addRecord();
}class frameB implements DataChangeListener{
public void onAdd(int id){
System.out.println(id);
}
}