Вопрос

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

screenshot

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

Это было полезно?

Решение

Ага.Вы создаете фрейм, но изображение находится вне него.Без кода мало что могу сказать, но Учебное пособие по АВТ на 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-код, названия нужных методов навскидку не помню.Вероятно, в этом() по крайней мере, в апплете.

фн1. http://java.sun.com/developer/onlineTraining/awt/contents.html#simpleexample

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top