2009-03-29 6 views
0

Ich mache gerade ein Programm mit der AWT GUI und ich stoße auf ein Problem. Ich möchte grundsätzlich ein Bild in der oberen linken Ecke des Bildschirms und eine Reihe von Schaltflächen auf der rechten Seite des Bildes. Dies ist jedoch nicht das, was passiert. Wenn ich das Applet starte, klicke ich auf ein Popup mit der Aufschrift "Start Program" und das gewünschte Bild befindet sich im Applet-Fenster selbst und die Spalte der Buttons befindet sich in einem anderen Fenster. Dies ist, wie es aussieht:Arbeiten mit Frames und Java AWT

screenshot

Gibt es trotzdem, dies zu beheben, so dass das Bild und die Tasten im selben Fenster sind?

Antwort

1

Ja. Sie erstellen einen Rahmen, aber Ihre Grafik befindet sich nicht innerhalb des Rahmens. Ich kann nicht viel ohne den Code sagen, aber die AWT Tutorial bei java.sun.com ist nicht schlecht auf diesem Zeug.


Okay, ein wenig mehr (ich habe nicht AWT in einer langen Zeit verwendet.)

Hier ist das Paar von Fragen Sie haben. Ein Frame ist eine Art von Fenster - es möchte ein separates Fenster mit einer eigenen Schließen-Schaltfläche und so weiter sein.

Wenn Sie Ihre Grafik erstellen, müssen Sie sagen, es war die Komponente, deren Elternteil ist; du machst es irgendwie zum Applet. So haben Sie einige Stück Code, das im Rahmen des Applets als this wie

add(myComponent); 

aussieht.

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); 
} 

Sie haben einen Rahmen, und Sie fügen Ihre Schaltflächen dazu.

Sie müssen den Code, der Ihr Canvas in der Frame-Klasse in einer Methode hinzufügt, verschieben.

(ACHTUNG: Dies ist nicht vollständiger Java-Code, erinnere ich mich nicht, die Namen der richtigen Methoden offhand wohl init() Methode im Applet, am wenigsten bei

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

+0

Ja, ich habe gefolgt, dass ein wenig Es ist mein erstes Mal AWT mit:..! S Wie dem auch sei, ich danke Ihnen, und wenn jemand irgendwelche weitere Vorschläge hat, bitte posten Danke nochmal – Tyler

+0

ich bin mir nicht sicher, ob Ich füge sogar das Bild richtig hinzu. So sieht meine Hauptklasse derzeit aus: http://friendpaste.com/61E13yV4CSR9JiFZhrDeSe StartFrame ist der Rahmen, der am Anfang des Spiels erscheint, und WindowFrame ist der Rahmen mit allen Tasten darauf. – Tyler

+0

Yup, da bist du. In Ihrem Applet ctor erstellen Sie einen MediaTracker und fügen die Grafik dort hinzu. Das bedeutet, dass Sie die Grafik dem Applet hinzufügen. Hier ein Tipp: Beginnen Sie mit einem sauberen Verzeichnis und bauen Sie jeweils ein kleines Stück auf. –