kostenloser Webspace werbefrei: lima-city


[Java] Problem bei Tutorial

lima-cityForumProgrammiersprachenJava

  1. Autor dieses Themas

    benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.

    Ich habe ein Javabuch und versuche mich zZ mal wieder ein bisschen :wink:

    Das Problem ist nur, dass folgender Code im Buch genau so steht, bei mir aber falsch ist:

    //imports
    import java.awt.*;
    import javax.swing.JOptionPane;

    //-------------------------------------------
    class DrawingWindow extends Window
    {
    String title="";
    DrawingWindow (Frame f )
    {
    super( f );
    setSize(Toolkit.getDefaultToolkit().getScreenSize());
    setVisible( true );
    }

    public void paint ( Graphics g )
    {
    g.drawString( title, 100, 400 );
    }

    public class PaintIndirect
    {

    public static void main(String args[]) throws Exeption
    {
    DrawingWindow win = new DrawingWindow ( new Frame() );

    win.title = "Bei den US-Militawraktionen in Afghanistat sind ?ber 800"+
    "Zivilisten durch milit?rische Fehlgriffe umgekommen."
    win.repaint();

    JOptionPane.showMessageDialog( w, "Die Quelle?");

    win.title = JOptionPane.showInputDialog( w, "Antwort");
    win.repaint();

    JOptionPane.showMessageDialog( w, "Nun ist aber Schluss!");
    System.exit( 0 );
    }
    }
    }

    (Wird hier ein wenig doof dargestellt :-/)

    Folgende fehler(Ohne Warnungen) treten dabei auf:

    Severity Description Resource In Folder Location Creation Time
    2 The method main cannot be declared static; static methods can only be declared in a static or top level type DrawingWindow.java projekt line 24 8. August 2006 17:59:11


    und:
    Severity Description Resource In Folder Location Creation Time
    2 Exeption cannot be resolved to a type DrawingWindow.java projekt line 24 8. August 2006 17:59:11


    Line 24 ist ?brigens die, wo die main() funktion beginnt.




    EDIT:
    Ok, es hei?t Exception. Das "c" fehlte -.-
    Ein Fehler bleibt aber noch ?brig.


    Beitrag ge?ndert am 8.08.2006 18:03 von benutzernaemelchen
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. p**i

    Also ganz einfach gesagt w?rde ich meinen,
    Du musst die main-Methode auslagern - in eine externe Klasse.

    Du kannst die Klassenverschachtelung so nicht vornehmen,
    wenn die Typetisierung sich mit static und non-static schneidet.
  4. e********l

    Warum in eine externe Klasse auslagern? Es reicht die Main Methode aus der INNER Class in die Hauptklasse zu verschieben. Das es direkt so im Buch steht kann ich mir ?brigends nicht vorstellen, so ein Fehler m?sste denen aufgefallen sein. Denke eher du hast einen kleinen Abschreibfehler get?tigt. Und zwar das die PaintIndirect Class nicht als Inner Class deklariert werden soll.

    import java.awt.*;
    import javax.swing.JOptionPane;
    
    //-------------------------------------------
    class DrawingWindow extends Window {
        String title="";
        DrawingWindow (Frame f ) {
            super( f );
            setSize(Toolkit.getDefaultToolkit().getScreenSize());
            setVisible( true );
        }
    
        public void paint ( Graphics g ) {
            g.drawString( title, 100, 400 );
        }
    
        public static void main(String args[]) throws Exception {
            DrawingWindow win = new DrawingWindow ( new Frame() );
    
            win.title = "Bei den US-Militawraktionen in Afghanistat sind ?ber 800"+
            "Zivilisten durch milit?rische Fehlgriffe umgekommen.";
            win.repaint();
    
            JOptionPane.showMessageDialog( win, "Die Quelle?");
    
            win.title = JOptionPane.showInputDialog( win, "Antwort");
            win.repaint();
    
            JOptionPane.showMessageDialog( win, "Nun ist aber Schluss!");
            System.exit(0);
        }
    }


    So geht es jedenfalls.
  5. p**i

    ?hm ?hm ja ... wieso habe ich da externe Klasse geschrieben?! *g*
    War wohl zu m?de oder so ... *Ausrede sucht*
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!