Графика Java-апплета - PullRequest
0 голосов
/ 27 мая 2010

У меня есть класс A

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 внизу текста «Первый» на экране Applets?

Ответы [ 2 ]

1 голос
/ 02 июня 2010

Как то так?

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

Трудно ответить осмысленно, не видя больше вашего кода или не зная, что вы на самом деле пытаетесь сделать здесь.

Если вы хотите, чтобы ваш объект C вызывал метод в вашем объекте A для добавления нового JLabel, тогда C понадобится дескриптор A (вы могли бы передать его через конструктор B конструктору C, я полагаю). 1006 *

0 голосов
/ 29 марта 2014

Чистый путь был бы примерно таким.

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

Причина этого заключается в том, что вы можете использовать этот класс в чем-то другом, кроме апплета, возможно, в чем-то с несколькими областями содержимого. В вашем апплете у вас может быть только один экземпляр AppContext, что делает его немного избыточным, но вы также можете почувствовать необходимость использовать InternalFrame или другие компоненты, которые могут потребовать от вас отслеживать более одной панели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...