2009-03-29 6 views
0

Je suis en train de créer un programme avec AWT GUI et je rencontre un problème. Je veux essentiellement une image dans le coin supérieur gauche de l'écran, et une colonne de boutons sur la droite de l'image. Ce n'est pas ce qui se passe cependant. Quand je lance l'applet, je clique sur un popup disant "Start Program" puis l'image que je veux est dans la fenêtre de l'applet elle-même et la colonne des boutons est dans une autre fenêtre. Voici ce qu'il ressemble à:Travailler avec des cadres et Java AWT

screenshot

Y at-il de toute façon de résoudre ce problème afin que l'image et les boutons sont dans la même fenêtre?

Répondre

1

Ouais. Vous créez un cadre mais votre graphique n'est pas à l'intérieur du cadre. On ne peut pas en dire beaucoup sans le code, mais le AWT Tutorial sur java.sun.com n'est pas mauvais sur ce genre de choses.


Bon, un peu plus (je ne l'ai pas utilisé AWT depuis longtemps.)

est ici les quelques questions que vous avez. Un cadre est une sorte de fenêtre - il veut être une fenêtre séparée avec son propre bouton de fermeture et ainsi de suite. Lorsque vous créez votre graphique, vous devez dire qu'il était le composant de son parent; vous êtes en quelque sorte parenting à l'Applet. Donc, vous avez un morceau de code qui ressemble à

add(myComponent); 

dans le contexte de l'Applet comme 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); 
} 

Vous avez un cadre et vous y ajoutez vos boutons.

public class MyFrame extends Frame { 

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

} 

Vous devez déplacer le code qui ajoute votre Canevas dans la classe Frame dans une méthode.

(ATTENTION: c'est pas code complet de Java, je ne me rappelle pas les noms des bonnes méthodes désinvolture probablement la méthode init() dans le Applet, au moins

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

+0

Ouais, je l'ai suivi un petit peu c'est ma première fois en utilisant AWT:..! S Quoi qu'il en soit, je vous remercie et si quelqu'un a des suggestions plus, s'il vous plaît poster Merci encore – Tyler

+0

Je ne sais pas si J'ajoute même l'image correctement .. Voici à quoi ressemble ma classe principale: http://friendpaste.com/61E13yV4CSR9JiFZhrDeSe StartFrame est l'image qui apparaît au début du jeu et WindowFrame est l'image avec tous les boutons. – Tyler

+0

Ouais, voilà. Dans votre applet ctor, vous créez un MediaTracker sur celui-ci, puis vous y ajoutez le graphique. Cela signifie que vous ajoutez le graphique à l'applet. Voici un indice: commencez avec un répertoire propre et créez un petit morceau à la fois. –