Работа с фреймами и Java AWT - PullRequest
0 голосов
/ 29 марта 2009

В настоящее время я делаю программу с графическим интерфейсом AWT, и у меня возникла проблема. Я в основном хочу изображение в верхнем левом углу экрана и столбец кнопок справа от изображения. Это не то, что происходит, хотя. Когда я запускаю апплет, я нажимаю всплывающее окно с надписью «Запустить программу», а затем нужное изображение находится в самом окне апплета, а столбец кнопок - в другом окне. Вот как это выглядит:

screenshot

Есть ли способ исправить это, чтобы изображение и кнопки находились в одном окне?

1 Ответ

1 голос
/ 29 марта 2009

Да. Вы создаете рамку, но ваша графика не находится внутри рамки. Без кода ничего сказать не могу, но AWT Tutorial на java.sun.com неплохо справляется с этим.


Хорошо, еще немного (я давно не пользовался AWT.)

Вот пара вопросов, которые у вас есть. Рамка - это своего рода окно - оно хочет быть отдельным окном с собственной кнопкой закрытия и т. Д.

Когда вы создаете свою графику, вы должны сказать, что она была компонентом, а ее родитель; Вы как-то воспитываете это в Апплете. Итак, у вас есть кусок кода, который выглядит как

add(myComponent);

в контексте апплета как this.

public class myApplet extends Applet {
   // lots of stuff here creating your canvas, putting the image in it
   // and so forth.  There's an example, see fn 1.
   // When you're done, you have a component, call it myImage.

   add(myImage);
}

У вас есть рамка, и вы добавляете к ней свои кнопки.

public class MyFrame extends Frame {

    add(new Button(...));
    add(new Button(...));

}

Вам нужно переместить код, который добавляет ваш Canvas, в класс Frame некоторым методом.

(ВНИМАНИЕ: это , а не полный Java-код, я не вспоминаю названия правильных методов от руки. Возможно, метод init () в апплете, по крайней мере .

fn1. http://java.sun.com/developer/onlineTraining/awt/contents.html#simpleexample

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