Avatar billede neess Nybegynder
16. marts 2001 - 09:17 Der er 16 kommentarer og
1 løsning

Åbne en class fil

Jeg vil gerne have at jeg kan åbne en class fil(en metoede i den) når jeg trykke på knappen.

import java.awt.*;
import java.awt.event.*;

public class dialog extends Frame implements ActionListener
{
TextField Txt;
Button knap1;
public dialog()
{
  setBounds(new Rectangle(100,100));
  setLayout(new GridLayout(3,3));
  knap1 = new Button(\"afslut\");
  Txt = new TextField(10);
  add(Txt);
  add(knap1);
  knap1.addActionListener(this);
  }

  public void actionPerformed(ActionEvent vupti)
  {
    System.exit(0);
  }

    public static void main(String args[])
    {
      dialog window = new dialog();
      window.setTitle(\"tester\");
      window.show();
    }
}

Jeghar prøvet med følgende sætning
udtolig udtolig = new udtolig();  udtolig.tolig()

Men der for jeg at vide at class filen ikke er defineret.
Avatar billede disky Nybegynder
16. marts 2001 - 09:20 #1
Har du en fil der hedder \'udtolig.java\' hvis ikke er det problemmer.

For så har du ikke en klasse der hedder det.
Avatar billede codemon Nybegynder
16. marts 2001 - 11:14 #2
klassenavnet og objektnavnet må ikke være ens
\"udtolig udtolig = \" kald evt. din klasse Udtolig.
Avatar billede kama Nybegynder
16. marts 2001 - 13:44 #3
Jeg er ikke helt sikker på, at jeg forstår hvad du vil. Prøv nedenstående og se om det er tilstrækkeligt.
- Få styr på dine små og store bogstaver!

import java.awt.*;
import java.awt.event.*;

public class Dialog extends Frame implements ActionListener
{
    TextField txt;
    Button knap1;
   
    public Dialog()
    {
      setBounds(new Rectangle(100,100));
      setLayout(new GridLayout(3,3));
      //knap1 = new Button(\"afslut\");
      knap1 = new Button(\"udskriv\");
      txt = new TextField(10);
      add(txt);
      add(knap1);
      knap1.addActionListener(this);
    }

  public void actionPerformed(ActionEvent vupti)
  {
   
    Udtolig udtolig = new Udtolig();
    udtolig.tolig(txt.getText());
    //System.exit(0);
  }

    public static void main(String args[])
    {
      Dialog window = new Dialog();
      window.setTitle(\"tester\");
      window.show();
    }
}


class Udtolig
{
    public void tolig(String input)
    {
        System.out.println(input);
    }
}
Avatar billede disky Nybegynder
16. marts 2001 - 13:47 #4
prøv i din Udtolig klasse at tilføj en

public Udtolig()
{
}
Avatar billede kama Nybegynder
16. marts 2001 - 14:11 #5
>>disky: Undlader man at skrive en constructor i sin klasse, laver compileren automatisk en tom public constructor!
Avatar billede disky Nybegynder
16. marts 2001 - 14:13 #6
Ja men det er stadigvæk pænest og overskueligt selv at tilføje en.
Avatar billede kama Nybegynder
16. marts 2001 - 14:22 #7
Enig! Men skal ovenstående være et \"pænt\" og optimalt program, er der mange ting jeg vil ændre/tilføje :-)
Avatar billede disky Nybegynder
16. marts 2001 - 14:24 #8
ja men hvorfor ikke lave det pænt og overskueligt i første forsøg ?


Det program du har skrevet lidt højere oppe, det virkede ikke vel ?
Avatar billede kama Nybegynder
16. marts 2001 - 15:54 #9
>>ja men hvorfor ikke lave det pænt og overskueligt i første forsøg ?
Jo jo jo, du har ret! neess har skrevet koden - jeg udvidede lidt for at illustrere en mulig løsning.


>>Det program du har skrevet lidt højere oppe, det virkede ikke vel ?
Jeg har ikke skrevet det fulde program, men det virker da!!!
Avatar billede neess Nybegynder
20. marts 2001 - 17:32 #10
kama: jeg for stadig en fejl med at class filen ikke er defineret.Og jeg har en class fil som hedder udtolig
Avatar billede kama Nybegynder
20. marts 2001 - 22:50 #11
>>ness: Hvis du tager koden ovenfor og kopiere den ind i en fil med navnet Dialog, så virker det!
Efter kompilering vil du have 2 klasse-filer (Dialog.class & Udtolig.class).
Hvis det ikke virker, er der noget galt med dit java-miljø.
Avatar billede neess Nybegynder
21. marts 2001 - 08:20 #12
Jeg for denne fejl når jeg vil compilere den kilde kode du har givet mig

dialog.java:4: class Dialog is public, should be declared in a file named Dialog
.java
public class Dialog extends Frame implements ActionListener
Avatar billede neess Nybegynder
21. marts 2001 - 08:21 #13
Jeg bruger jdk1.3 hvis det skulle have noget at sige.
Avatar billede kama Nybegynder
21. marts 2001 - 14:19 #14
Fejlen opstår, da du ikke har navngivet din java-fil som Dialog.java med stort \'D\' !!!
Slet filerne og start forfra. Kopier koden ovenfor og sæt den ind i en ny fil.(copy/paste!!!)
Avatar billede neess Nybegynder
21. marts 2001 - 14:48 #15
Jeg har rettet den med stort D nu.Og brugt koden du har sendt men for stadig fejlen
java.lang.NoClassDefFoundError: app/Dialog (wrong name: Dialog)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:111)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
Avatar billede kama Nybegynder
21. marts 2001 - 21:28 #16
Det tyder på, at du skriver noget i stil med:
java app/Dialog (Det kan man ikke!!!)
Gå til biblioteket hvor klasse-filerne ligger og skriv så: java Dialog
Avatar billede neess Nybegynder
21. marts 2001 - 22:50 #17
takker for hjælpen og det virker som det skal nu
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester