// 先看一下这段短小的代码
//有没有问题啊?
//我想问的是:你们有没有写过这个类似的程序?
//一个容器内的组件要操作另一个组件内的组件,这个好象有点难度!你们碰到过没有?
//你们通常的做法是什么?
//大家是不是把所有的容器都放到同一个容器内的呢?
//想听你们的指点!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
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");
}
}
//有没有问题啊?
//我想问的是:你们有没有写过这个类似的程序?
//一个容器内的组件要操作另一个组件内的组件,这个好象有点难度!你们碰到过没有?
//你们通常的做法是什么?
//大家是不是把所有的容器都放到同一个容器内的呢?
//想听你们的指点!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
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");
}
}
也容易实现
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");
}
});
}
}
怎么很多人多没想到这么简单的方法???
偏偏往 那些个 模式 上去靠,呵呵笑死!---------------------------------------------------------
对了,我很想看一下 MVC 设计模式的基本框加,书上讲了一大堆,一下子消化不了.
有人知道的话能不能写一个很小的程序来演示给大家看看!以后学起来,会轻松一点!