NB 7.3 Jpane sollte Datei sein

Allgemeine Themen rund um Java

Moderator: wegus

Antworten
Majbert1937
Beiträge: 9
Registriert: 23.02.2013, 09:13

NB 7.3 Jpane sollte Datei sein

Beitrag von Majbert1937 » 25.04.2013, 13:11

// import javax.swing.*;
Schon beim ersten Java Script Problem.
Der Editor sagt: class Jpane is public. should be a file named Jpane.java.

Wie komme ich hier weiter. wer kann mir unter die Arme greifen?

package myfirstprogr;
// import javax.swing.*;
import javax.swing.JOptionPane;
public class Jpane {
.
.
.

Benutzeravatar
smurfi
Site Admin
Beiträge: 1623
Registriert: 29.06.2006, 11:33
Wohnort: Wuppertal
Kontaktdaten:

Re: NB 7.3 Jpane sollte Datei sein

Beitrag von smurfi » 25.04.2013, 15:32

Hallo,

dein Codeausschnitt ist aber sehr dürftig, was erwartest du denn was da passieren soll?

Gruß
Michael

Majbert1937
Beiträge: 9
Registriert: 23.02.2013, 09:13

Re: NB 7.3 Jpane sollte Datei sein

Beitrag von Majbert1937 » 25.04.2013, 17:40

Hallo Michael,
wenn ich schon bei der 3 Zeile ein Fehler habe, bringen die nachfogenden Zeilen wohl
keine weiteren Erkenntnisse oder aendert sich dies mit dem Fehler .

Ich glaubte, Jemand wuerde mir verraten, was mit der Jpane Zeile falsch ist und wie ich an
Jpane.java kommte. Danke schon mal fuer eine Antwort (wenn auch noch keine Loesung).

Majbert

Benutzeravatar
smurfi
Site Admin
Beiträge: 1623
Registriert: 29.06.2006, 11:33
Wohnort: Wuppertal
Kontaktdaten:

Re: NB 7.3 Jpane sollte Datei sein

Beitrag von smurfi » 26.04.2013, 05:05

Hallo,

also wenn ich bei mir folgende Klasse anlege kommt da keine Fehlermeldung:

Code: Alles auswählen

package javaapplication1;

import javax.swing.JOptionPane; 

/**
 *
 * @author mkroll
 */
public class Jpane {
    
}
Habe es auch versucht aus einer kleinen Main-Klasse aus aufzurufen, auch ohne Fehler:

Code: Alles auswählen

package javaapplication1;

/**
 *
 * @author mkroll
 */
public class JavaApplication1 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Jpane objJpane = new Jpane();
        System.out.println("TEST");
    }
}
Kommt deine Fehlermeldung direkt schon im Codeeditor?
Das einzigste was er als Warnung anzeigt ist der 'import javax.swing.JOptionPane;', weil ich ihn nirgends benutze (unused).

Gruß
Michael

ebaumann
Beiträge: 285
Registriert: 22.01.2009, 08:53
Wohnort: Würzburg
Kontaktdaten:

Re: NB 7.3 Jpane sollte Datei sein

Beitrag von ebaumann » 26.04.2013, 08:02

Majbert1937 hat geschrieben:Schon beim ersten Java Script Problem.
Der Java-Quellcode ist kein "Script" (auch kein JavaScript, das ist eine andere Sprache als Java).
Majbert1937 hat geschrieben:Der Editor sagt: class Jpane is public. should be a file named Jpane.java.
Hast du dies überprüft: Heißt die Datei, in der die Klasse "Jpane" definiert ist, "Jpane.java"? Dabei ist die Groß-/Kleinschreibung von Bedeutung, z.B. wäre "JPane.java" falsch.

Majbert1937
Beiträge: 9
Registriert: 23.02.2013, 09:13

Re: NB 7.3 Jpane sollte Datei sein

Beitrag von Majbert1937 » 28.04.2013, 14:10

Hallo NB Freunde,

Vielen Dank fuer Euern Support.

Eine gute Info habe ich schon mal. Das 2 Beispiel mit "Jpane objJpane = new Jpane()"; is ok -funktioniert also.

hier noch mal mein Script, oh pardon, es heisst ja bei Euch QuellCode:

package myfirstprog;
import javax.swing.JOptionPane;

public class Jpane { // in dieser Zeile (links)steht also der rote Punkt
// und die Zeile ist rot untessctrichen


public static void main (String[] args) {
String response;
response = JOptionPane.showInputDialog("What is a 'string' in Java?");
JOptionPane.showMessageDialog(null, response);
System.exit(0);

}
}


Der Fehler zeigt bereits beim Eingeben.

Die Output Info lautet:

at myfirstprog.Jpane.<clinit>(UserInputs.java:5)
Exception in thread "main" Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)


Ich haette gerne auch noch ein ScreenShot gesandt aber weiss nicht wie.

Ich habe den QuellCode 1 zu 1 aus dem Java-Tut. uebernommen.

Hier auch noch ein Link zu dem Java - Tut.

http://dwachira.hubpages.com/hub/Java-P ... s-Lesson-6

MajBert

Majbert1937
Beiträge: 9
Registriert: 23.02.2013, 09:13

Re: NB 7.3 Jpane sollte Datei sein

Beitrag von Majbert1937 » 28.04.2013, 21:28

Loesung gefunden!

"class Jpane" so ist es richtig. "ohne public" ich kann mir nicht vorstellen,dass dies einer getestet hat.

see: http://stackoverflow.com/questions/1037 ... file-named

Majbert

ebaumann
Beiträge: 285
Registriert: 22.01.2009, 08:53
Wohnort: Würzburg
Kontaktdaten:

Re: NB 7.3 Jpane sollte Datei sein

Beitrag von ebaumann » 29.04.2013, 08:18

Majbert1937 hat geschrieben:ich kann mir nicht vorstellen,dass dies einer getestet hat
Wer sollte was testen? Würde die Datei, in der die Klasse public definiert ist, ohne Endung genau so heißen wie die Klasse, nämlich "Jpane.java" - exakt in Groß- und Kleinschreibung - gäbe es die Fehlermeldung nicht (falls Package-Pfad in Ordnung), wie vorher gepostet. Vielmehr solltest du dir Gedanken machen, wann/warum es sinnvoll sein könnte, Klassen öffentlich zu machen oder nicht, was der Unterschied ist zwischen private, package private und public, was anonymous (inner) classes sind, wann und warum welche access modifier (public, ...) bevorzugt benutzt werden etc. Falls eine Klasse in der Quelldatei anders heißt als die Datei und dann nicht public ist/sein muss, sollte das aus Absicht mit guten Gründen geschehen, die erst einmal verstanden sein sollten und nicht, weil es dann keine IDE-Fehlermeldung/Compilerfehler mehr gibt. Mir fällt als einziger guter Grund ein, dass dies zusätzlich erfolgt neben einer anderen Klasse in der Datei, wobei (nur) diese andere Klasse jene nutzt (mich würde interessieren, warum dies einer static inner class vorzuziehen ist), nach außen soll sie nicht bekannt werden oder aus "Faulheit"; sicher kann ein anderer Forumsteilnehmer weitere Einsatzbeispiele bringen und dies (warum keine inner class) klären.

Hierzu kann ich empfehlen: http://docs.oracle.com/javase/tutorial/ ... index.html - speziell bezüglich der Klassen http://docs.oracle.com/javase/tutorial/ ... index.html

Ich halte es für einen Fehler, gleich "loszulegen" und Dialoge anzuzeigen etc., wenn noch nicht einmal die Grundprinzipien der Sprache bekannt sind.

Antworten