比如2个类,A和B,B是图形界面,一个窗体上有2个按钮"确定"和“取消”现在A要调用B,当点击不同按钮时候A输出不同的消息。。这个机制怎么实现?
解决方案 »
- 要求写一个正则表达式
- 如何仅知道class名,取得包括package的全名?
- 有谁用过httpclient没,出现Invalid redirect location: http://wapp.baidu.com/f?kw=????????
- 用FileReader和FileWriter 与 用FileOutputStream和FileInputStream 来完成文件之间的copy有什么区别么??
- 关于javamail text/plain 类型的附件如何收
- 求您帮个忙!简单!!
- 求JPEG解码源程序
- 各位老大,一个小问题,请大家帮下忙,不然工作就悬了...
- 高手救命啊(图形的Java应用程序无法启动,控制台程序可以)
- 淘宝API初学者
- 新手请教 jbuilder9下有调用关系的多个java源文件的编译有顺序要求吗???
- 用timer怎么做到每天的1点和2点时执行一个任务
{
A a;
public void setA(A a)
{
this.a = a;
}
...
actionPerformed: a.print(...);
...
}
main: A a = new A();
B b = new B();
b.setA(a);
...
import java.awt.*;
import java.awt.event.*;public class A extends JFrame{
JPanel jPanel1 = new JPanel();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
B b=new B();
public A() {
try {
jbInit();
this.setSize(300,200);
this.show();
b.show();
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
A a1 = new A();
}
private void jbInit() throws Exception {
jButton1.setText("确定");
jButton1.addActionListener(new A_jButton1_actionAdapter(this));
jButton2.setText("取消");
jButton2.addActionListener(new A_jButton2_actionAdapter(this));
this.getContentPane().add(jPanel1, BorderLayout.CENTER);
jPanel1.add(jButton1, null);
jPanel1.add(jButton2, null);
} void jButton1_actionPerformed(ActionEvent e) {
b.jTextArea1.append(jButton1.getText());
b.jTextArea1.append("\n");
} void jButton2_actionPerformed(ActionEvent e) {
b.jTextArea1.append(jButton2.getText());
b.jTextArea1.append("\n");
}}class A_jButton1_actionAdapter implements java.awt.event.ActionListener {
A adaptee; A_jButton1_actionAdapter(A adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}class A_jButton2_actionAdapter implements java.awt.event.ActionListener {
A adaptee; A_jButton2_actionAdapter(A adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton2_actionPerformed(e);
}
}
import java.awt.*;public class B extends JFrame{
JScrollPane jScrollPane1 = new JScrollPane();
public static JTextArea jTextArea1 = new JTextArea();
public B() {
try {
jbInit();
this.setSize(400,300);
}
catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
B b1 = new B();
}
private void jbInit() throws Exception {
this.getContentPane().add(jScrollPane1, BorderLayout.CENTER);
jScrollPane1.getViewport().add(jTextArea1, null);
}}
B b=new B() //(1)
if(...)
System.out.println(...)
else
System.out.println(...)
}}//类B是图形界面的
class B extends JFrame{里面基本代码就和图形类一样,有2个按钮组件void jButton1_actionPerformed(ActionEvent e) { //“确定”按钮的事件方法
???怎么写
}}基本代码就上面的,现在运行A,在执行完语句1后,也就是B类被创建后,这时候应该跳出来图形界面,但此时A的流程却也继续下去,执行if、else语句了。。现在我要求的是,在初始化B后,A的流程停下来,等我在跳出来的B的图形界面上点击确定或者是取消按钮后再 执行if、else当然我知道要实现这种效果语句1不是这么写的,而且要把点击按钮的结果传到A里也应该有个办法,现在问题就是怎么写
把它设置成true,然后setVisible(true),程序走到这里就终止了.
至于返回值也可以实现,我反正用JDialog基类实现过这个需求,和你的需求一样.核心就是setModel()方法