2009-03-29 4 views
0

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

screenshot

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

ответ

1

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


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

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

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

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(...)); 

} 

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

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

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

+0

Да, я следовал за этим немного Это мой первый раз, используя AWT:..! S Во всяком случае, спасибо, и если кто имеет какие-либо другие предложения, пожалуйста, напишите еще раз спасибо – Tyler

+0

Я не уверен, если Я даже правильно добавляю изображение. Это мой основной класс в настоящее время выглядит так: http://friendpaste.com/61E13yV4CSR9JiFZhrDeSe StartFrame - это рамка, которая появляется в начале игры, а WindowFrame - это рамка со всеми кнопками на ней. – Tyler

+0

Да, вот и все. В вашем Applet ctor вы создаете MediaTracker, добавляя туда графику. Это означает, что вы добавляете графику в апплет. Вот подсказка: начните с чистого каталога и застройте небольшую часть за раз. –

Смежные вопросы