作者H45 (!H45)
站内java
标题Re: [问题] 两个JFrame之间要怎麽传值
时间Thu Jun 26 22:05:30 2008
※ 引述《smallsour (小酸)》之铭言:
: ※ 引述《jawwoeima (RYAN)》之铭言:
: : import B;
: : Class A extends JFrame
: : {
: : B b;
: : public A()
: : {
: : }
: : public void setB(B bb)
: : {
: : b = bb;
: : }
: : }
: : =============================
: : import A;
: : Class B extends JFrame
: : {
: : A a;
: : public B()
: : {
: : }
: : public void setA(A aa)
: : {
: : a = aa;
: : }
: : }
: : ================================
: : public static void main(String args[])
: : {
: : A a = nwe A();
: : B b = new B();
: : a.setB(b);
: : b.setA(a);
: : }
: : 没试过,不过这样应该可以吧
: import A; 跟 import B; 不能直接这样用耶 compile 过不了
: 还有JDialog要怎样用阿?
: 有人可以简易示范给我看吗
: 我只要把在Frame A 输入数字 传到 Frame B
: 我看了JDialog的API 不是很懂
如果你全部放在根目录 (/) 没有 package 的话,下面是个范例:
==A.java==
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class A extends JFrame {
public B b;
public String message;
public void showDialog() {
message = JOptionPane.showInputDialog(null);
}
}
==B.java==
import javax.swing.JFrame;
public class B extends JFrame {
public A a;
}
==Drive.java==
public class Drive {
public static void main(String[] args) throws Exception {
A a = new A();
B b = new B();
a.b = b;
b.a = a;
a.showDialog();
System.out.println(a.message);
System.out.println(b.a.message);
}
}
==执行结果==
┌────────────────────┐
│ 输入 │
├────────────────────┤
│ ? _I___________________________ │
│ │
│ 确定 取消 │
└────────────────────┘
你输入什麽,他就输出什麽,举例而言:123
那麽在 command line 会印出:123
==注==
你不能 import A 和 B,因为 A 和 B 没有 package。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.247.13
1F:→ H45:囧,我搞错某个很重要的东西 06/26 22:07
把某个很重要的东西改上去。
※ 编辑: H45 来自: 140.116.247.13 (06/26 22:13)
2F:→ H45:实际应用的时候没印象需要这样搞,依赖关系通常是树,而非回路 06/26 22:15
3F:推 slalala:我之前作法是当dialog dispose 才执行回传值的动作 06/26 23:32