// 先看一下这段短小的代码
//有没有问题啊?
//我想问的是:你们有没有写过这个类似的程序?
//一个容器内的组件要操作另一个组件内的组件,这个好象有点难度!你们碰到过没有?
//你们通常的做法是什么?
//大家是不是把所有的容器都放到同一个容器内的呢?
//想听你们的指点!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
import java.io.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;public class J3 {
public static void main(String[] args) throws Exception {
JFrame myFrame = new JFrame("test event");
MyPanel3 myPanel = new MyPanel3();
myFrame.add(myPanel);
myFrame.pack();
myFrame.setVisible(true);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}class MyPanel1 extends JPanel {
private JLabel label;

MyPanel1() {
label = new JLabel("test label.");
add(label);
}
}class MyPanel2 extends JPanel {
private JButton bt;

MyPanel2() {
bt = new JButton("see hello");
add(bt);
}
}class MyPanel3 extends JPanel {
private MyPanel1 jp1;
private MyPanel2 jp2;

MyPanel3() {
jp1 = new MyPanel1();
jp2 = new MyPanel2();
setLayout(new BorderLayout());
add(jp1,"North");
add(jp2,"Center");
}
}

解决方案 »

  1.   

    我想让你们给看看,给按钮加一个事件监听,让label 显示 "hello",如果可以的话。
      

  2.   

    JButton 和 label写在一个类里多好啊
    也容易实现
      

  3.   

    import java.io.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;public class J3 {
    public static void main(String[] args) throws Exception {
    JFrame myFrame = new JFrame("test event");
    MyPanel3 myPanel = new MyPanel3();
    myFrame.add(myPanel);
    myFrame.pack();
    myFrame.setVisible(true);
    myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    }class MyPanel1 extends JPanel {
     JLabel label;

    MyPanel1() {
    label = new JLabel("test label.");
    add(label);
    }
    }class MyPanel2 extends JPanel {
     JButton bt;

    MyPanel2() {
    bt = new JButton("see hello");
    add(bt);
    }
    }class MyPanel3 extends JPanel {
    private MyPanel1 jp1;
    private MyPanel2 jp2;

    MyPanel3() {
    jp1 = new MyPanel1();
    jp2 = new MyPanel2();
    setLayout(new BorderLayout());
    add(jp1,"North");
    add(jp2,"Center");
    jp2.bt.addMouseListener(new MouseAdapter() {

    public void mouseClicked(MouseEvent e) {

    jp1.label.setText("new label");
    }
    });
    }
    }
      

  4.   

    呵呵,是个直接了当的方法诶!!!!!!!!!!!!!!!!
    怎么很多人多没想到这么简单的方法???
    偏偏往 那些个 模式 上去靠,呵呵笑死!---------------------------------------------------------
    对了,我很想看一下 MVC 设计模式的基本框加,书上讲了一大堆,一下子消化不了.
    有人知道的话能不能写一个很小的程序来演示给大家看看!以后学起来,会轻松一点!
      

  5.   

    这里有没有人,有时间的话给小弟写一个最简单的能运行的 MVC 架够的小的测试程序行吗?