tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
290
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Topia Topia ist offline Mitglied Bronze
    Registriert seit
    Feb 2008
    Beiträge
    48
    hallo, ich kriege nicht hin , hab da snoch nie mit Methoden..etc geamcht.
    Ich hoffe ihr könnt mir helfen

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    
     class liniezeichnen 
            {
                public liniezeichnen(int a, int b, int c, int d,int s,int w, int r, int u, System.Windows.Forms.PaintEventArgs e)
                {
                    //Graphics Object ermitteln
                    Graphics grfx = e.Graphics;
                    grfx.Clear(System.Drawing.SystemColors.Control);
     
                    //Linie mit einem Pixel Breite zeichnen
                    Pen pen = new Pen(Color.Red);
                    grfx.DrawLine(pen, a, b, c, d);
     
                    //Rechteck mit einem Pixel Höhe und Breite zeichnen
                    pen = new Pen(Color.Blue);
                    grfx.DrawRectangle(pen, s, w, r, u);
     
                    //Rechteck mit fünf Pixel Höhe und Breite zeichnen
                    SolidBrush brush = new SolidBrush(Color.Magenta);
                    grfx.FillRectangle(brush, a, b, c, d);
     
                   
                
                
                
                }
     
                class Liniezeichnen
                {
                    public static void Main()
                    {
     
                        liniezeichnen meinelinie = new liniezeichnen(55, 88, 62, 578, 74, 253, 14, 25);
                        
                        
     
     
     
                    }
                }
            }

    Unten bei den der erstellung von new linienzeichnen wird die fehlermedlung angezeigt "Windowsapplication35.Form1.linienzeichnen" enthält keinen Konstruktor der 8 Argumente aktzeptiert.
    Geändert von Topia (15.09.08 um 03:34 Uhr)
     

  2. #2
    Avatar von tecla
    tecla tecla ist offline Mitglied Gold
    Registriert seit
    Jul 2007
    Beiträge
    163
    Die Fehlermeldung sagt ja, was nicht OK ist.

    Dein Konstruktor hat 9 Parameter:

    Zitat Zitat von Topia Beitrag anzeigen
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
     class liniezeichnen 
            {
                public liniezeichnen(int a, int b, int c, int d,int s,int w, int r, int u, System.Windows.Forms.PaintEventArgs e)
                {
                    //Graphics Object ermitteln
                    Graphics grfx = e.Graphics;
                    grfx.Clear(System.Drawing.SystemColors.Control);
     
                    //Linie mit einem Pixel Breite zeichnen
                    Pen pen = new Pen(Color.Red);
                    grfx.DrawLine(pen, a, b, c, d);
     
                    //Rechteck mit einem Pixel Höhe und Breite zeichnen
                    pen = new Pen(Color.Blue);
                    grfx.DrawRectangle(pen, s, w, r, u);
     
                    //Rechteck mit fünf Pixel Höhe und Breite zeichnen
                    SolidBrush brush = new SolidBrush(Color.Magenta);
                    grfx.FillRectangle(brush, a, b, c, d);      
                }
            }
    Dann willst du die Klasse mit 8 Parametern instanzieren:

    Zitat Zitat von Topia Beitrag anzeigen
    Code :
    1
    2
    3
    4
    5
    6
    
                    public static void Main()
                    {
     
                        liniezeichnen meinelinie = new liniezeichnen(55, 88, 62, 578, 74, 253, 14, 25);
     
                    }
    Da fehlt also der Parameter System.Windows.Forms.PaintEventArgs e.
     

  3. #3
    Topia Topia ist offline Mitglied Bronze
    Registriert seit
    Feb 2008
    Beiträge
    48
    thx musste den Parameter PaintEventArgs e weglassen der wird wahrscheinlich später initalisiert. DOch jetzt kommt die Fehlermeldung :

    Fehler 2 Für das Programm "WindowsApplication35.exe" sind mehrere Einstiegspunkte definiert: "WindowsApplication35.Form1.Main()". Kompilieren Sie mit /main, um den Typ anzugeben, der den Einstiegspunkt enthält. C:\Users\daggi\Desktop\DEUTSCHE AMPEL\Form1.cs 84 15 WindowsApplication35

    Wie kann ich dne Fehler beheben?
     

  4. #4
    Avatar von tecla
    tecla tecla ist offline Mitglied Gold
    Registriert seit
    Jul 2007
    Beiträge
    163
    Jede Applikation darf nur eine Mai()-Methode haben, diese ist der Einstiegspunkt ins Programm.
    Ich sehe gerade oben, du hast da ein ziemliches Chaos gemacht.

    Du hast in der Klasse linienzeichnen wieder ne Klasse Linienzeichnen und auch noch die Main()-Funktion drin, die laut deiner Fehlermeldung auch noch wo anders zu sein scheint.

    Das musst du auseinanderklamüsern.

    Du hast irgendwo die Klasse, am besten in einer eigenen Datei. Eine Klasse hat Konstruktor, Klassenvariablen und Methoden. In deinem Fall hast du hier die Klasse mit Konstruktor ohne Methoden und Variablen.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    class liniezeichnen 
    {
                public liniezeichnen(int a, int b, int c, int d,int s,int w, int r, int u, System.Windows.Forms.PaintEventArgs e)
                {
                    //Graphics Object ermitteln
                    Graphics grfx = e.Graphics;
                    grfx.Clear(System.Drawing.SystemColors.Control);
     
                    //Linie mit einem Pixel Breite zeichnen
                    Pen pen = new Pen(Color.Red);
                    grfx.DrawLine(pen, a, b, c, d);
     
                    //Rechteck mit einem Pixel Höhe und Breite zeichnen
                    pen = new Pen(Color.Blue);
                    grfx.DrawRectangle(pen, s, w, r, u);
     
                    //Rechteck mit fünf Pixel Höhe und Breite zeichnen
                    SolidBrush brush = new SolidBrush(Color.Magenta);
                    grfx.FillRectangle(brush, a, b, c, d);      
                }
    }

    Dann hats du die Main-Funktion, die es eben nur einmal geben darf und zwar nicht innerhalb einer Klasse wie es bei dir jetzt ist. Sondern schön separat.

    Das Main, in dem eine Instanz der Klasse linienzeichnen erstellt wird, musst du aus der Klasse rausnehmen.
    Die Instanzierung der Klasse linienzeichnen kannst du in die schon vorhandene Main-Funktion reinnehmen.
    Code :
    1
    2
    3
    4
    
    public static void Main()
    {
             liniezeichnen meinelinie = new liniezeichnen(55, 88, 62, 578, 74, 253, 14, 25);
    }

    Grüsse
    Tecla
     

Ähnliche Themen

  1. Hibernate Tools [Eclipse Plugin]: Brauche Hilfe beim Erzeugen des SB Schemas
    Von DarthShader im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 8
    Letzter Beitrag: 28.10.10, 15:18
  2. Problem beim Erzeugen eines Images aus byte[]
    Von Kai008 im Forum Java Grundlagen
    Antworten: 8
    Letzter Beitrag: 08.07.10, 17:59
  3. Antworten: 17
    Letzter Beitrag: 11.05.09, 20:21
  4. Antworten: 9
    Letzter Beitrag: 27.03.09, 18:34
  5. Dynamisch Klassen erzeugen
    Von Schnacki im Forum Java
    Antworten: 1
    Letzter Beitrag: 28.05.07, 13:33