Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Seit drei Schuljahren C, fangen wir an mit Java und ich versuche das erste Java Programm zu verstehen, aber ich kann das nicht mal ausführen.
In der schule hat es auf jedenfall noch funktioniert. Aber dann installier ich die JDK und führe eclipse aus, eclipse startet und hab dann unter File/Import/General/Add/Existing Projects into workspace --> den ordner wo das project drinnen ist ausgewählt und finish gedrückt. Danach wollte ich das Programm ausführen aber es kamen die unten angeführten Errors.
Wenn ihr mehr Informationen braucht bitte sagen! Ich hab null Ahnung warum das auftritt, immerhin ist das, das 1te Programm und hab mit eclipse noch nie gearbeitet.
Danke!
Gruß
Java:
import java.awt.*;
import javax.swing.*;
public class MainFrame extends JFrame {
private JPanel contentPane;
public MainFrame() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
FrameInit();
}
catch (Exception exception) {
exception.printStackTrace();
}
}
/**
* Component initialization.
*
* @throws java.lang.Exception
*/
private void FrameInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(new BorderLayout());
setSize(new Dimension(1000, 1000));
setTitle("test1");
}
}
//Errors:
/*
The project cannot be built until build path errors are resolved
Unbound classpath container: 'JRE System Library [JavaSE-1.7]' in project 'test1'
*/
Jetzt sind die ganzen Errors weg, aber wenn ich nun das Programm "rune", dann kommt eine Fehlermeldung:
"Could not find the main class: test1.Application. Program will exit"
Das steht in der Console:
Code:
java.lang.UnsupportedClassVersionError: test1/Application : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Exception in thread "main"
Verändert habe ich das:
Ich bin auf Project/Properties/Java Build Path gegangen und hab dort die die Library gelöscht und dann mit "add library" "JRE System Library [jre6]" geaddet.
Ne, nicht die eclipse-Version ist das Problem, sondern die JAVA-Version.
Wahrscheinlich ist in deiner Schule JDK 1.7 installiert und jetzt versuchst du das Programm mit einer älteren JAVA-Version zu starten.
Und jetzt schau mal, was im ersten Fenster unten steht: Nämlich, dass du für "compliance-level 1.7" auch 1.7 aktiviert haben musst - du hast aber 1.6 drin.
Also im zweiten Fenster auf "Search" gehen und den Ordner raussuchen, in den du dein JDK7 getan hast... den neuen Eintrag dann natürlich auch auswählen!
Hoffe ich konnte helfen
[EDIT]Naja, also wenn er für Projekte aus der Schule 1.7 braucht, sollte er bei sich zu Hause schon die gleiche Version nutzen, sonst nervts wahrscheinlich öfter mal...[/EDIT]
So..., ich will jetzt in mein Programm einen Button einfügen. In der Schule hatten wir so eine .html-Datei wo alle Befehle etc. drinnen stand nur leider hab ich diese vergessen. Kennt den jemand so eine ähnliche Seite wo ich nachschauen kann wie die Befehle zusammenhängen und funktionieren wie z.B. JButton?
Ist Swing schwer? ^^ Ich kann ja jetzt auch nicht zum Lehrer hingehn und ihm vorschreiben was er zu tun hat .
Naja ich hab aufjedenfall versucht nen Button einzufügen, aber hab Null Ahnung wo ich das tun soll, also im Code.
3 Schulejahre habe ich C programmier und ich finde es ist auf dem ersten Blick um einiges leichter wie Java, da ich Java net verstehe^^. In C z.B. weiß ich, zwischen welchen Zeilen ich diesen und jenen Befehl einfügen muss und bei Java tu ich mir da irgendwie schwer.
In Java gibts ja so art Klassen. In den Klassen stehen Datenfelder und Methoden. Diese Methoden bewachen die Daten, nur eine Methode kann auf die Daten zugreifen. Und Instanzen sind die Variablen der Datenfelder. Stimmt das so in etwa?
Hier nochmal der Code + paar Fragen:
Java:
import java.awt.*; //Sind das so art Bibliotheken wie in C: #include <stdio.h> z.B.?
import javax.swing.*;
public class MainFrame extends JFrame { // hier erstellt man eine Klasse, MainFram ist der Name davon, aber was soll das extends und JFrame? Was sind den die Datenfelder, Methoden der Klasse da?
private JPanel contentPane; // hier wird ein Fenster initalisiert - kann man das so sagen? Wenn ich das private weglasse, was passiert dann?
public MainFrame() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
FrameInit();
}
catch (Exception exception) {
exception.printStackTrace();
}
}
/**
* Component initialization.
*
* @throws java.lang.Exception
*/
private void FrameInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(new BorderLayout());
setSize(new Dimension(1000, 1000));//größe bestimmen
setTitle("test1");//namen des fensters
}
}
Es wäre toll wenn ihr jede Code-Zeile erklärt und halt die obigen Fragen in den Comments. Ich hab das ein Buch namens: "Java als Erste Programmiersprache", aber da wird bissl anders Programmiert. Ich konzentriere mich lieber auf das Programm von der Schule.
Wenn der TO aber nur C beherrscht und mit OOP bisher nicht in Berührung kam, ist das Neuland für ihn. Deswegen halte ich auch den Einstieg mit Swing etwas gewagt, denn nur deshalb tauchen jetzt zig OO-Konzepte auf einmal für ihn im Quelltext auf (etwa in Form von Schlüsselwörtern wie
Mh, vielleicht habe ich das vergessen zum sagen: ich hab nicht 3 Jahre an einer Uni oder so programmiert sonder auf einer technischen Schule. Ich hab da mit 14 Jahren zum C programmieren begonnen bis 17 jetzt - 2h die Woche. Vererbung habe ich eig. noch nicht gehört.
Naja MainFram ist ja eine Klasse, aber was sind den die Methoden, Instanzen in diesem Beispiel? Eine klasse muss ja Methoden und Instanzen erhalten oder?
Und z.B. wie weiß man denn, wann man eine Klasse erstellen soll? In meinem Programm will ich ein Fenster machen mit JPanel. Und wenn ich JButton benutze brauch ich dann eine 2te Klasse oder wo soll ich das hinprogrammieren? Wie hängt den das da alles zusammen? Bitte erklärt es mir anhand meines Programmes.
Es gibt Dinge, die lassen sich nicht vernünftig Zeilenweise erklären, da komplexe Konzepte dahinter stecken.
Ich kann dir nur zu Literatur raten; also das eine oder andere Java Einstiegsbuch durchzuarbeiten.
Mh. Hier ist ein noch einfacheres Programm aus einem Übungsbuch.
Java:
// Datei: Punkt.java
// Deklaration der Klasse Punkt. Dem Compiler wird gesagt, dass es
// eine Klasse Punkt gibt.
public class Punkt
{
private int x; // Datenfelder für die x- und
private int y; // y-Koordinate vom Typ int
public int getX() // eine Methode, um den Wert
{ // von x abzuholen
return x;
}
public int getY() // eine Methode, um den Wert
{ // von y abzuholen
return y;
}
public void setX (int i) // eine Methode, um den Wert
{ // von x zu setzen
x = i;
}
public void setY (int i) // eine Methode, um den Wert
{ // von y zu setzen
y = i;
}
// Mit main() beginnt eine Java-Anwendung ihre Ausführung.
public static void main (String[] args)
{
Punkt p = new Punkt(); // Punkt erzeugen
p.setX (3); // Aufruf der Methode setX()
p.setY (2); // Aufruf der Methode setY()
System.out.println ("Die Koordinaten des Punktes p sind: ");
System.out.println (p.getX()); // Wert von x wird ausgegeben
System.out.println (p.getY()); // Wert von y wird ausgegeben
}
}
hier da gibts eine Klasse Punkt und von Main beginnt alles. Und im Main werden die Methoden aufgerufen. Wo siehe ich denn bitte in meinen Programm ein main und wo werden die Methoden aufgerufen?
Die class Punkt ist einfach frei erzeugt, aber dann gibts ja noch so eine Seite: Java Platform SE 7
JFrame, JPanel etc. Das sind doch auch Klassen oder? Klassen die schon vorhanden sind, was sind die Methoden von denen?
Und ja ich hab gelesen was Vererbung ist jetzt:
Spinnentiere sind: Skorpione, Milbe und Spinne. Und von Spinne kann man noch Hausspinne etc. ableiten.
Aber wie setzt man das jetzt um? In meinen Bsps wird ja von JFrame abgeleitet, was den genau, wo sieht man das?