2010-05-27 42 views
0

我有A级的Java Applet图形

class A extends JApllet { 
private B b; 
.... 
public void init() { 
// draw text 
    getContentPane().add(new JLabel("First"), BorderLayout.CENTER); 
b = new B(); 
} 

} 

class B{ 

private C c; 

    b(){ 
     c = new C(); 
    } 

} 

class C{ 
    C(){ 
    // And there I need draw Text ("Second") on Applet Panel 

    } 
} 

如何我可以从C级底部绘制文本小程序屏幕上的“第一”的文字?

回答

1

这样的事情?

getContentPane().add(new JLabel(b.c.getText()), BorderLayout.SOUTH); 

如果没有看到更多的代码,或者不知道您实际尝试在这里做什么,这很难有意义地回答。如果你想让你的C对象在你的A对象中调用一个方法来添加一个新的JLabel,那么C需要一个A的句柄(你可以通过B构造函数将它传递给C构造函数,我想)。

0

干净的方式会是这样的。

class C{ 
    C(AppContext context){ 
    c.getContentPane().add(..) 
    } 
} 

这样做的原因是,你可能要在比一个Applet,可能是一些与多个内容窗格别的东西来使用这个类。在你的applet中,你可能只有一个AppContext实例使它有点冗余,但是你也可能觉得需要使用InternalFrame或其他可能需要跟踪多个窗格的组件。 enter code here