Ich sehe keine Javax-Elemente mehr!

Hallo!

Nach eindringlicher Fehlersuche und natürlichem Verrücktwerden aus Gründen des Nichtverstehens, nun meine Frage an dieser Stelle:

Wieso sehe ich, wenn ich in Eclipse „Run as Java Application“ mache meine Element im JFrame nicht mehr?

Betonung auf ‚nicht mehr‘. Denn ich bin mir zu 99.9% sicher, dass ich diese Programme schon am Laufen hatte und ich sie gesehen habe. BTW: setVisible(true) ist auf das JFrame-Objekt angewandt. Es selbst ist auch sichtbar. Nur vom inhalt sieh man nichts!
Da ich pack() auf das Fenster anwende sehe ich auch, dass er das Fenster an einen Button anpasst, den ich auf dem JFrame abgelegt habe. Aber deshalb ist es trotzdem nicht sichtbar. Gleiches auch mit JTable, JTextField,…

Was ich bereits getan habe:

  1. Java DK runter und neu rauf
  2. Java RE runter und neu drauf
  3. Eclipse gelöscht und neu „installiert“ (sprich kopiert)
  4. JDK und JRE runter und dafür ein äteres J2SDK drauf

Alles mit dem selben Erfolg. Nämlich keinem! Wer hat noch Ahnung, woran es liegen kann?

Wenn bis Dienstag niemand was weiß… Neuinstallation.
Eventuelle Erfolge, dann hier!
:smile:

Auch hallo.

Hallo!

Nach eindringlicher Fehlersuche und natürlichem Verrücktwerden
aus Gründen des Nichtverstehens, nun meine Frage an dieser
Stelle:

Wieso sehe ich, wenn ich in Eclipse „Run as Java
Application“
mache meine Element im JFrame nicht mehr?

…Betriebssystem, Eclipse Vereion, Version der JRE und der Quellcode an sich ? Immerhin kann der geneigte Leser dann das Problem versuchen nachzuvollziehen :wink:

Betonung auf ‚nicht mehr‘. Denn ich bin mir zu 99.9% sicher,
dass ich diese Programme schon am Laufen hatte und ich sie
gesehen habe. BTW: setVisible(true) ist auf das JFrame-Objekt
angewandt. Es selbst ist auch sichtbar. Nur vom inhalt sieh
man nichts!

Und in der Zwischenzeit hat man nicht am Projekt rumgespielt ?

Da ich pack() auf das Fenster anwende sehe ich auch, dass er
das Fenster an einen Button anpasst, den ich auf dem JFrame
abgelegt habe. Aber deshalb ist es trotzdem nicht sichtbar.
Gleiches auch mit JTable, JTextField,…

…und ohne pack() ?

Was ich bereits getan habe:

  1. Java DK runter und neu rauf
  2. Java RE runter und neu drauf
  3. Eclipse gelöscht und neu „installiert“ (sprich kopiert)
  4. JDK und JRE runter und dafür ein äteres J2SDK drauf

Alles mit dem selben Erfolg. Nämlich keinem! Wer hat noch
Ahnung, woran es liegen kann?

Wenn bis Dienstag niemand was weiß… Neuinstallation.
Eventuelle Erfolge, dann hier!
:smile:

Hier noch ein paar Seiten: http://www.pc-systeme.de/article88.html
http://www.eclipsemagazin.de/itr/online_artikel/psec…

HTH
mfg M.L.

Hallo,

kännte es sein, dass Du ein schweres (AWT) Element verbaut hast? Wegen der Reihenfolge. Die AWTs liegen ja immer vor den Swing Elementen.

Gruß

Peter

Nein, es sind lediglich javax-Elemte verwendet worden.

Und weiter geht die Suche…

Betriebssystem: WinXP SP2

Folgende Java Versionen sind installiert:

  • Java2SE Development Kit 5.0 Update 5
  • Java2SE Runtime Environment 5.0 Update 5

Die zum Test verwendete Java SDK Version ist:

  • Java2SDK 1.4.2 Update 6

Dazu kommen folgende Eclipse Versionen:

  • Eclipse 3.01
  • Eclipse 3.1

Als Test hab ich mal nur drei Klassen her genommen:

Listing.java

package test;
import java.awt.BorderLayout;

/*
* Created on 08.10.2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/

/**
* @author Michael
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Listing
{

public static void main(String[] args)
{
Fenster f1 = new Fenster();
f1.getContentPane().setLayout(new BorderLayout());
f1.getContentPane().add(new Knopf(), BorderLayout.CENTER);
f1.pack();
}
}

Fenster.java

package test;
import javax.swing.JFrame;
/*
* Created on 08.10.2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/

/**
* @author Michael
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Fenster extends JFrame
{
public Fenster()
{
super(„Fenster Test“);
setVisible(true);
setBounds(100,100,500,500);
}

}

Knopf.java

package test;
import javax.swing.JButton;
/*
* Created on 08.10.2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/

/**
* @author Michael
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Knopf extends JButton
{
public Knopf()
{
super(„Knopf“);
setVisible(true);
}

}

Mal ein paar Bilder zu dem ganzen Spaß:
http://www.michael-paetzold.de.vu/java.html

Das System vom Laptop ist im Übrigen auch WinXP SP2, Eclipse 3.01 und die Java Version ist ja auf den Bildern zu sehen.

Hallo nochmal.

Und weiter geht die Suche…

…ich glaube, ich hab’s gefunden.

Betriebssystem: WinXP SP2

Folgende Java Versionen sind installiert:

  • Java2SE Development Kit 5.0 Update 5
  • Java2SE Runtime Environment 5.0 Update 5

Die zum Test verwendete Java SDK Version ist:

  • Java2SDK 1.4.2 Update 6

Dazu kommen folgende Eclipse Versionen:

  • Eclipse 3.01
  • Eclipse 3.1

Sehr vorbildlich :smile:
Mein System: XP+SP2, JDK 1.4.x + JRE 1.5, NetBeans 3.5.1 (Eclipse wollte mir das Projekt nicht anlegen *grr*)

Als Test hab ich mal nur drei Klassen her genommen:

Listing.java

package test;
import java.awt.BorderLayout;

Die Bedeutung des BorderLayouts ist doch bekannt: http://www.iku-ag.de/schulungen/Java-Enterprise-priv… -> suche nach BorderLayout ergibt 5 Ergebnisse. Ein anderes Layout kann helfen
Den Rest schenken wir uns.
Und das kompilierte Programm funktioniert übrigens :smile: Auch wenn Knopf
und das Zittern beim Draufklicken vielleicht nicht besonders originell ist…

HTH
mfg M.L.

Danke erst mal für die Bemühungen und die Sucherei.
Aber: leider hat das damit (anscheinen) nichts zu tun. ich hab das BorderLayout jetzt mal fix durch ein FlowLayout verändert. Das selbe in Grün, nur dass das JFrame nun minimal höher ist.

Wer noch was weiß… immer her damit! :smile:

Der Countdown läüft…

The deadline is on tuesday. Only 44 hours to go!

setVisible(true);
muss die letzte Anweisung sein.

Du kannst mal probieren, was passiert, wenn Du das Fenster mit der Maus etwas ziehst (vergrößerst oder verkleinerst)

Aber:
Du programmierst furchtbar. Man setzt alle Eigenschaften einer Klasse im Konstruktor. Niemals in der main Methode. Niemals? Niemals!
In der main-Methode steht genau eine Zeile: new Fenster();
Wenns denn sein muss: Fenster fenster = new Fenster();
Aber das ist auch schon das Höchste der Gefühle.

Gruß

Peter

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo an dieser Stelle.

Danke erst mal für die Bemühungen und die Sucherei.
Aber: leider hat das damit (anscheinen) nichts zu tun. ich hab
das BorderLayout jetzt mal fix durch ein FlowLayout verändert.
Das selbe in Grün, nur dass das JFrame nun minimal höher ist.

Wer noch was weiß… immer her damit! :smile:

Der Countdown läüft…

The deadline is on tuesday. Only 44 hours to go!

Soll das eigentlich ein kommerzielles Projekt werden ?
ODer ein Schönheitspreis für das schlimmste Layout ? :wink:

setVisible(true);
muss die letzte Anweisung sein.

Bringt leider nichts. Das Programm reagiert wie davor

Du kannst mal probieren, was passiert, wenn Du das Fenster mit
der Maus etwas ziehst (vergrößerst oder verkleinerst)

Passiert auch nichts Weltbewegendes. Benimmt sich wie ein
normales Fenster, das man vergrössern/verkleinern kann

Aber:
Du programmierst furchtbar. Man setzt alle Eigenschaften einer
Klasse im Konstruktor. Niemals in der main Methode. Niemals?
Niemals!

Stimmt :smile:
Sinnigerweise ist der Umzug von

Fenster f1 = new Fenster();
f1.getContentPane().setLayout(new BorderLayout());
f1.getContentPane().add(new Knopf(), BorderLayout.CENTER);

in den Konstruktor von Fenster.java mit Fehlermeldungen
quittiert worden

In der main-Methode steht genau eine Zeile: new Fenster();
Wenns denn sein muss: Fenster fenster = new Fenster();
Aber das ist auch schon das Höchste der Gefühle.

Das Rauslassen von f1.pack() hat übrigens auch keinen Laufzeiteffekt.

mfg M.L. (‚btw‘:NetBeans 4.1 Beta verwendet)

Leute… jetzt macht mal nicht gleich einen auf Dicke Hose. Ich weiß, dass ich Eigenschaften normalerweise in den Konstruktor werfe. Weil ich einfach in dem Moment keinen Bock hatte die Klasse zu wechseln, muss man dich nicht gleich den Ästheten raushängen lassen. Zumal das mit dem grundsätzlichen Problem ja mal rein gar nichts zu tun hat.

hi,

bei einem bekannten der das gl. problem hatte war die ursache das jdk 5.0. Evtl. mal alle jdks u. jres runterwerfen und nur das 1.4.2_09 jdk instalieren.

viel glück bonkers

Seltsam… hast du mal dein Windows Theme wieder rausgenommen? Sollte zwar eigentlich nix machen, man weiß ja aber nie. Sonst keine Idee.

Hallo,

hast Du das Programm schon mal von der DOS-Box aus kompiliert und gestartet?

Wenn es dort läuft --> Eclipse einfach nochmal installieren, denn dann muss der Fehler dort liegen.

Sonst --> ist an Deinem Programm etwas schlecht. Ist es sowieso :wink:)))) Durch die Zugriffe von außen kannst Du das Verhalten nicht richtig kontrollieren.

Gruß

Peter

Hallo an dieser Stelle.

Ich bin zwar nicht der Angesprochene, aber dennoch:

Hallo,

hast Du das Programm schon mal von der DOS-Box aus kompiliert
und gestartet?

Shell von SLES 9, JDK 1.4 von Borland JBuilder2005, besagte Javadateien im Ordner /test editiert und kompiliert -> selbes Ergebnis: verschiebbares Fenster, Knopf zeigt Mausdruck an.

Wenn es dort läuft --> Eclipse einfach nochmal
installieren, denn dann muss der Fehler dort liegen.

Kann durchaus sein.
*Mist*: die Installation von SAP Developer Studio (aka Eclipse 2.x)
mit Crossover Office ist soeben fehlgeschlagen :frowning:

Sonst --> ist an Deinem Programm etwas schlecht. Ist es
sowieso :wink:)))) Durch die Zugriffe von außen kannst Du das
Verhalten nicht richtig kontrollieren.

Hart, aber herzlich :smiley:

HTH
mfg M.L.

Lösung für mich Neuinstallation
So…

nachdem ich nun mein Image wieder neu auf die Platte geschoben hab geht wieder alles, wie es soll.

Danke nochmal an alle, die sich aktiv um die Lösung des Problems bemüht haben.

Ciao.