Avatar billede snowflake7 Nybegynder
06. januar 2003 - 01:41 Der er 14 kommentarer og
2 løsninger

Hvorfor siger den der ingen main metoder , når der er en???

/*
* DiveLog2.java
*
* Created on 3. januar 2003, 23:59
*/

package DiveLog;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
*
* @author 
* @version
*/
public class DiveLog2 extends JFrame {
   
    private JTabbedPane tabbedPane;
 

    /** Creates new DiveLog2 */
    public DiveLog2() {
        super("A Java(TM) Tecnology Dive Log");
       
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
              System.exit(0);
            }
        });
        tabbedPane = new JTabbedPane(SwingConstants.LEFT);
        tabbedPane.setBackground(java.awt.Color.blue);
        tabbedPane.setForeground(java.awt.Color.white);
        populateTabbedPane();
          buildMenu();
          getContentPane().add(tabbedPane);
          pack();
          setSize(765,690);
          setBackground(Color.white);
          setVisible(true);
    }
   
    private void populateTabbedPane(){
       
    tabbedPane.addTab("Welcome",null,new Welcome(),"Welcome to the Dive Log");
    tabbedPane.addTab("Diver Data",null,new Diver(),"Click here to enter diver data");
    tabbedPane.addTab("Log Dives",null,new Dives(),"Click here to enter dives");
    tabbedPane.addTab("Statistics",null,new Statistics(),"Click here to calculate dive Statistics");
    tabbedPane.addTab("Favorite Web Site",null,new Website(),"Click here to see a web site");
    tabbedPane.addTab("Resources",null,new Resources (),"Click here to see a list of Resources ");
    }
   
    private void buildMenu(){
        JMenuBar mb = new JMenuBar();
        JMenu menu = new JMenu("File");
        JMenuItem item = new JMenuItem("Exit");
       
        item.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                System.exit(0);
            }
           
            });
      menu.add(item);   
        mb.add(menu);
      setJMenuBar(mb);
   
    }   
public static void main(String args[]) {
    DiveLog2 dl = new DiveLog2();
   
       
}
}
Avatar billede bearhugx Nybegynder
06. januar 2003 - 01:47 #1
Godt spm ... Hvad præcis er fejlen (err-output)
Avatar billede ebe Praktikant
06. januar 2003 - 01:50 #2
d00d7-35 er ikke rikke, vel?
Avatar billede bearhugx Nybegynder
06. januar 2003 - 01:51 #3
Får du
Exception in thread "main" java.lang.NoClassDefFoundError: DiveLog2

Så prøv lige at tjek, om der egenligt er oprettet en DiveLog2.class
Avatar billede bearhugx Nybegynder
06. januar 2003 - 02:00 #4
Jeg kan godt køre din GUI :-)

Kopier class-filerne fra package "DiveLog" ned i et nyt bibliotek, du kalder "DiveLog"

Kør derefter java -classpath . DiveLog.DiveLog2

/Søren
Avatar billede bearhugx Nybegynder
06. januar 2003 - 02:02 #5
ovenstående som svar ....
Det er altid hensigtsmæssigt, at strukturen i filsystemet afspeljer ens package-struktur ... Ergo - Hvis du laver en package, som hedder banan, så skal .classfilerne, som tilhører den package, gemmes i underbiblioteket "banan"

De fleste IDE og f.eks. ant sørger selv for at fil-strukturen kommer til at afspejle klassehierakiet....

/Søren
Avatar billede arne_v Ekspert
06. januar 2003 - 07:40 #6
"hensigtsmæssigt" er en underdrivelse.

Jeg vil kalde det "absolut påkrævet".

Men eller shar Bearhugx helt ret.

Hvis du står i C:\xxx og java+class filer ligger i
C:\xxx\DiveLog, så bør:

java -classpath . DiveLog.DiveLog2 virke !

Hvis du står nede i C:\xxx\iveLog så skal du skrive f.eks.:

java -classpath C:\xxx DiveLOg.DiveLog2
Avatar billede arne_v Ekspert
06. januar 2003 - 07:40 #7
Og så bruger man iøvrigt traditionelt altid kun små bogstaver til
package navne.
Avatar billede Slettet bruger
06. januar 2003 - 10:09 #8
Hvilken editor skriver du i ?
Avatar billede snowflake7 Nybegynder
06. januar 2003 - 16:42 #9
der er oprettet en fil der hedder DiveLog2.class
jeg bruger "forte for java community edition" som "editor"
Exception in thread "main" java.lang.NoClassDefFoundError: DiveLog2
er den fejl jeg får
Avatar billede snowflake7 Nybegynder
07. januar 2003 - 00:10 #10
hvad sker der ingenting
Avatar billede arne_v Ekspert
08. januar 2003 - 19:02 #11
Du har jo ikke en klasse DiveLog2 !

Du har en klasse DiveLog.DiveLog2 !

Hvis man i Forte skal angive main class i en text-box, så
prøv og ret det.
Avatar billede snowflake7 Nybegynder
08. januar 2003 - 22:48 #12
tak arne v
Avatar billede snowflake7 Nybegynder
08. januar 2003 - 23:05 #13
hmm jeg var lidt hurtig til at give point.
Når jeg  klikker på run i IDE siger den stadig der ingen main metode er????????


java.lang.NoSuchMethodError: main
Exception in thread "main"
Avatar billede arne_v Ekspert
09. januar 2003 - 06:56 #14
Men du er da kommet et skridt videre.

Nu kan den finde din klasse.

Men den kan ikke finde din metode.

Ser din main stadig ud som:

public static void main(String args[]) {
    DiveLog2 dl = new DiveLog2();
}

?
Avatar billede snowflake7 Nybegynder
09. januar 2003 - 16:31 #15
nej nu ser den sådan ud:
public static void main(String args[]) {
    DiveLog.DiveLog2 dl = new DiveLog2();
   
       
}
Avatar billede snowflake7 Nybegynder
09. januar 2003 - 16:38 #16
jubiiiiiiiiiiiiiiiiiiiiiiiiii
nu kører den !!!!!!!!!!!!!!!!!!!!
/*
* DiveLog2.java
*
* Created on 3. januar 2003, 23:59
*/

package DiveLog;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/**
*
* @author 
* @version
*/
public class DiveLog2 extends JFrame {
   
    private JTabbedPane tabbedPane;
 

    /** Creates new DiveLog2 */
    public DiveLog2() {
        super("A Java(TM) Tecnology Dive Log");
       
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
              System.exit(0);
            }
        });
        tabbedPane = new JTabbedPane(SwingConstants.LEFT);
        tabbedPane.setBackground(java.awt.Color.blue);
        tabbedPane.setForeground(java.awt.Color.white);
        populateTabbedPane();
          buildMenu();
          getContentPane().add(tabbedPane);
          pack();
          setSize(765,690);
          setBackground(Color.white);
          setVisible(true);
    }
   
    private void populateTabbedPane(){
       
    tabbedPane.addTab("Welcome",null,new Welcome(),"Welcome to the Dive Log");
    tabbedPane.addTab("Diver Data",null,new Diver(),"Click here to enter diver data");
    tabbedPane.addTab("Log Dives",null,new Dives(),"Click here to enter dives");
    // tabbedPane.addTab("Statistics",null,new Statistics(),"Click here to calculate dive Statistics");
    // tabbedPane.addTab("Favorite Web Site",null,new Website(),"Click here to see a web site");
    //tabbedPane.addTab("Resources",null,new Resources (),"Click here to see a list of Resources ");
    }
   
    private void buildMenu(){
        JMenuBar mb = new JMenuBar();
        JMenu menu = new JMenu("File");
        JMenuItem item = new JMenuItem("Exit");
       
        item.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                System.exit(0);
            }
           
            });
      menu.add(item);   
        mb.add(menu);
      setJMenuBar(mb);
   
    }   
public static void main(String args[]) {
    DiveLog.DiveLog2 dl = new DiveLog.DiveLog2();
   
       
}
}
tak for hjælpen
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