Applet mit Buttons

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von gateway_2_hell, 11. Februar 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 11. Februar 2006
    Hi!

    Ich erstelle grad ein Applet, in das 4 Buttons eingefügt habe. Ich habe jedem Button einen ActionListener hinzugefügt. Der Kopf meiner Klasse sieht wie folgt aus:

    public class Spiel extends JApplet implements ActionListener
    {
    }

    Ich will jetzt, wenn ich auf den Button drücke, etwas auf den Bilschirm zeichen ( z.B.: g.drawLine(1,1,2,2) ).
    Dafür brauch ich ja "g", also ein Graphics Objekt, welches im Parameterfeld der Methode "void actionPerformed" erzeugt werden soll.

    Wäre ja alles schön und gut, doch dafür muss ich ja diese Methode actionPerformed überschreiben, damit ich einen anderen Parameter angeben kann...

    Ich habs mit @Override probiert und als Fehlermeldung "illegal character: \64" bekommen! Weiß wer was ich falsch mache?


    greetz hell
     
  2. 11. Februar 2006
    hm, also ich empfehle dir eine andere methode mit den actionlisteners. da du 4 buttons hast wirds sonst kompliziert. ich würde folgendes machen:

    Code:
    public class Spiel extends JApplet {
    private Graphics g;
    public Spiel (){
    JButton but1 = new JButton("Linie Zeichnen");
    but1.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e) { g.drawLine(1,1,2,2); }
    });
    }
    }
    
    Sowas nennt sich eine anonyme klasse, une die ist besser in diesem fall, weil sie nur vom entsprechenden button aus angesprochen werden kann, so gibts keine durcheinander.mfg swissmaster
     
  3. 12. Februar 2006
    Bist du sicher, dass das so geht?

    button1.addActionListener(new ActionListener());

    Wenn ich das eingebe, bekomme ich den Fehler "java.awt.event.ActionListener is abstact, cannot be instantiated."


    Trotzdem danke für deine schnelle Hilfe, hast ne 10




    /edit: ich werds jetzt mal über "repaint()" probieren... vielleicht klappts ja
     
  4. 12. Februar 2006
    so wirds nicht funktionieren, es fehlen die geschweiften klammern:

    button1.addActionListener(new ActionListener(){});

    dann wird er dir das new unterstreichen, es fehle dir die methode. je nach programm kannst du sie automatisch einfügen lassen.

    mfg swissmaster
     
  5. 12. Februar 2006
    Ich habs jetzt geschafft

    Hab einfach die Methode repaint() benutzt!

    Jetzt probiere ich gerade meine 4 Buttons anzuordnen. Ich hätte sie gerne so:

    1
    2 3
    4

    Wäre ja eigentlich kein Problem, doch ich will die Buttons rechts neben einer 500x500 großen Zeichenfläche haben... Vielleicht kannste mir ja nen Tipp geben? :]
     
  6. 13. Februar 2006
    hm, mit welchem programm programmierst du??

    also grundsätzlich mal würde ich mit JPanels arbeiten, die kannst du im Container gut anordnen. du machst zwei JPanels:
    Code:
    Public class blabla extends JFrame{
    Public blabla(){
    Container cp = getContentPane();
    cp.setLayout(new GridLayout(1,2)); //Macht das Layout so dass horizontal zwei elemente sindJPanel
    pan1 = new JPanel();
    JPanel pan2 = new JPanel();
    cp.add(pan1);
    cp.add(pan2);
    //Tust deinen Zeichnungsbereich ins pan 1 mithilfe von add
    pan2.setLayout(null); //jetzt kannst du je nach deinem Programmierprogramm graphisch die elemente so anordnen wie du willst, indem du einfach nach den koordinaten gehst. Ins pan 2 setzt du nun deine buttons rein.
    mfg swissmaster
     
  7. 13. Februar 2006
    Danke für den Tipp :]

    Im moment programmiere ich noch mit BlueJ, später mitm JBuilder. Ich mach das inner Schule, hab nen Informatik Leistungskurs.


    greetz hell
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.