Inerhalb der [void main] auf ein Objekt der [protected void] zugreifen

Status
Nicht offen für weitere Antworten.

badfish

Mitglied
Hallo zusammen,

ich schaffe es leider nicht inerhalb der main "public static void main(String[] args) {" auf ein Objekt (ein jLabel) in der "protected void startup() {" zuzugreifen.
Was ich machen möchte? Ich möchte in einer Schleife der main auf das jLabel1 zugreifen und .setText verändern. Das Problem ist nur, dass ich von der main aus nicht darauf zugreifen kann. Auch einen Setter habe ich nicht hinbekommen.
Könnt ihr mir helfen?

Hier mein bisheriger Quelltext:
Java:
import javax.swing.JComponent;
import javax.swing.JLabel;

import javax.swing.JPanel;

import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.layout.GroupLayout;
import org.jdesktop.layout.LayoutStyle;



public class Countdown extends SingleFrameApplication {
    private JPanel topPanel;
    public JLabel jLabel1;

    @Override
    protected void startup() {
        topPanel = new JPanel();
        GroupLayout topPanelLayout = new GroupLayout((JComponent)topPanel);
        topPanel.setLayout(topPanelLayout);
        topPanel.setPreferredSize(new java.awt.Dimension(500, 300));
        {
        	jLabel1 = new JLabel();
        	jLabel1.setName("jLabel1");
        }
        topPanelLayout.setVerticalGroup(topPanelLayout.createSequentialGroup()
        	.addContainerGap(109, 109)
        	.add(jLabel1, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
        	.addContainerGap(107, Short.MAX_VALUE));
        topPanelLayout.setHorizontalGroup(topPanelLayout.createSequentialGroup()
        	.addContainerGap(129, 129)
        	.add(jLabel1, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE, GroupLayout.PREFERRED_SIZE)
        	.addContainerGap(140, Short.MAX_VALUE));
        show(topPanel);
    }

        
    public static void main(String[] args) {
        launch(Countdown.class, args);
        
      
    }

}

Vielen Dank.
Grüße, badfish
 

badfish

Mitglied
Naja ich will aus der main heraus den Befehl jLabel1.setText("Mein Text"); aufrufen, jedoch geht das nicht. Ich verwende Eclipse, und das Programm hat mir schon vorschlagen automatisch eine statis daraus zu machen. Gesagt getan geht das ganze Programm aber zur Laufzeit hoch.

Veränderungen:
Java:
public class Countdown extends SingleFrameApplication {
    private JPanel topPanel;
    public static JLabel jLabel1;

Java:
 public static void main(String[] args) {
        launch(Countdown.class, args);
        
        jLabel1.setText("Helloh!");
        
    }

Und die Fehlermeldung:
Exception in thread "main" java.lang.NullPointerException
at Countdown.main(Countdown.java:55)
 
S

SlaterB

Gast
warum sollte es nicht null sein,
wird startup() je ausgeführt?

durch ein einfaches

protected void startup() {
System.out.println("Code kommt dran");
..
}

zu testen
 

badfish

Mitglied
Ja also startup() wird ausgeführt. Alle Panels und Labels werden ja auch erstellt und angezeigt. Ich weiß aber auch nicht wo bzw. wie startup() aufgerufen wird.
 
S

SlaterB

Gast
vielleicht passiert es zeitversetzt später, mit der Ausgabe bekommst du die Information, ob der Code ausgeführt wurde,
wenn du vor der Exception keinen Text siehts, dann war war da wohl nix,

baue testweise
Thread.sleep(2000)
in die main ein -> warte 2 sec vor dem Zugriff (und nach dem launch natürlich)
 

badfish

Mitglied
Der System.out.println() wird vor der Exception angezeigt. Also da ist alles so gut so weit. Vielleicht wird "protected void startup() {" über "launch(Countdown.class, args);" in der main aufgerufen. Also die Exceptioon kommt erst wenn ich in der main auf "jLabel1.setText("Neuer Name");" zugreife. Vorher nicht.

EDIT//
Ich habe noch ein von Jigloo angeletes Probertyfile gefunden:
Java:
#Properties updated by Jigloo
#Mon Sep 28 15:27:20 CEST 2009

Application.description=
Application.homepage=
Application.id=Countdown
Application.lookAndFeel=system
Application.title=Application Framework App
Application.vendor=Cloudgarden.com
Application.vendorId=Cloudgarden
Application.version=1.0

jLabel1.font=Arial-PLAIN-72
jLabel1.text=jLabel1

mainFrame.title=This title is defined inside the property file
 
Zuletzt bearbeitet:
S

SlaterB

Gast
extrem frech angenommen könnte die Applikation über einen anderen ClassLoader gestartet werden oder ähnlich schlimme Dinge,
so dass du da gar keinen Zugriff drauf hast, zumindest von der main-Methode aus mit mir bekannten Mitteln ;)

noch ein Test der mir dazu einfällt: setze in der main das JLabel oder eine andere statische Variable mit einem Objekt/ Wert,
danach launch()
und prüfe dann in startup, ob die statischen Variablen wieder bei null angelangt sind,
wenn das der Fall ist passiert wirklich irgendwas größeres im Hintergrund,

aber ist eigentlich auch ganz egal, warum wolltest du da nochmal in main was machen?
geht doch genauso in startup(), dort könntest du auch einen neuen Thread starten,
es gibt noch weitere zu überschreibene Methoden wie ready()
 

badfish

Mitglied
Naja mein Problem ist, dass ich einen Countdown schreiben möchte. Und der muss halt jede Sekunde neu durchrechnen und das ergebnis auf dem Label anzeigen. Und wenn ich das in der Methode mache, hängt doch im Endhinein das ganze Programm? So etwas muss ich dcoh gezwungener Maßen im Main machen?
 
S

SlaterB

Gast
wie gesagt: von startup() aus könntest du einen neuen Thread starten,
setzt voraus, dieses Thema zu kennen, in Kurzform:

Runnable r = new Runnable() {
public void run() {

// Code
}
}
new Thread(r).start();
 

badfish

Mitglied
Ahhh klingt interessant. Kommt das "new Thread(r).start();" in die main?
Werde es morgen gleich ausprobieren, jetzt habe ich feierabend ;)

Vielen Dank für die Hilfe.
 
S

SlaterB

Gast
main() ist schlecht,
von startup() aus könntest du einen neuen Thread starten

<->

kommt das in die main()?

:autsch:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Wie kann man eine void Methode mit Variablen von zwei verschiedenen Objekten ausführen? Allgemeine Java-Themen 15
W Warum muss void main() public sein? Allgemeine Java-Themen 3
P Variablen Variable von void im ActionListener verwenden Allgemeine Java-Themen 3
S auf public void Methode zugreifen ohne static Allgemeine Java-Themen 11
M Variablen Variablenzugriff aus static void Allgemeine Java-Themen 21
D Frage zu der Methode void print(file File) Allgemeine Java-Themen 3
MQue public void serialEvent(SerialPortEvent event) Allgemeine Java-Themen 4
J Warum heißt es eig. "public static void main" ? Allgemeine Java-Themen 4
T public void init wird nicht aufgerufen Allgemeine Java-Themen 12
S public void actionPerformed Allgemeine Java-Themen 5
N this im public static void Allgemeine Java-Themen 3
D Lesbare args für die main-Methode Allgemeine Java-Themen 6
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
Calli11 Was muss ich hier in die Main schreiben, damit das Programm ausgeführt wird? Allgemeine Java-Themen 4
Encera Zweite Main-Methode zuschalten Allgemeine Java-Themen 18
Splayfer Problem: no main manifest attribute Allgemeine Java-Themen 3
M Keine weitere Eingabe in der Main möglich. Eventueller Ansatz über while. Allgemeine Java-Themen 8
F Konstante an main - Argumenten initialisieren Allgemeine Java-Themen 1
S Exception in thread "main" java.lang.NullPointerException at FamilienApp.main(FamilienApp.java:15) Allgemeine Java-Themen 1
F Was ist der Dateityp meines Parameters für die Main Methode. Allgemeine Java-Themen 6
E HILFE !! Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils Allgemeine Java-Themen 4
B Übernommene Variablen(werte) aus der Main-Klasse ändern? Allgemeine Java-Themen 9
G Programm, das nach abgearbeiteter main Methode weiterläuft Allgemeine Java-Themen 72
javaerd Binomialkoeffizient ausrechnen, Exception in thread "main" java.lang.StackOverflowError Allgemeine Java-Themen 6
L sortiertes Array im main aufrufen klappt nicht. Allgemeine Java-Themen 3
Tort-E Manifest Main-Class Allgemeine Java-Themen 8
J Exception in thread "main" java.lang.NoClassDefFoundError Allgemeine Java-Themen 4
A main-class Not found Allgemeine Java-Themen 3
A Konstrukt ohne Main für Xml-Parser Allgemeine Java-Themen 1
P JDK installieren Error: Could not find or load main class HelloWorld.java Allgemeine Java-Themen 3
I JFrame Icon in Main übergeben Allgemeine Java-Themen 1
Phash Can't find Main Class Allgemeine Java-Themen 4
X Could not find the main class programm will exit (textdokument) Allgemeine Java-Themen 3
127.0.0.1 Subversion neues SVN Projekt, keine Main gefunden ?! Allgemeine Java-Themen 7
S Could not find the main class Allgemeine Java-Themen 7
B Mal wieder "Could not find the main class" Allgemeine Java-Themen 3
C Could not find the main class. Allgemeine Java-Themen 15
I Main wird nicht gefunden Allgemeine Java-Themen 3
B Threads Main Thread warten auf abgebrochen Task warten lassen Allgemeine Java-Themen 25
A Could not find main class: start Allgemeine Java-Themen 5
S main() class finden Allgemeine Java-Themen 7
hdi Could not find main class? Allgemeine Java-Themen 8
B Cannot find main-claas... Allgemeine Java-Themen 21
G jar Datei findet Main Class nicht... Allgemeine Java-Themen 2
P Java Editor Could not find the main class GUI. Programm will exit. Allgemeine Java-Themen 3
E Programm von Main Methode starten Allgemeine Java-Themen 9
BattleMaster246 Could not find the Main class Allgemeine Java-Themen 30
reibi Main-Class in Jarfile Allgemeine Java-Themen 3
G Hauptthread anhalten / Unterschied zwischen Main-Thread und dialogelement-Thread Allgemeine Java-Themen 2
N Probleme mit .jar 'Could not find main class' Allgemeine Java-Themen 3
N Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.p Allgemeine Java-Themen 4
J Main-Thread soll auf alleKinder Threads warten Allgemeine Java-Themen 5
B Main Thread Status abrufen Allgemeine Java-Themen 4
N import com.sun.tools.javac.Main; Allgemeine Java-Themen 1
V main(...) aus Klasse in PDF starten? Allgemeine Java-Themen 3
B UML: Main classe verschwindet nach code generierung nicht?! Allgemeine Java-Themen 4
I Signatur von Main-Methoden? Allgemeine Java-Themen 29
T zu Beginn der main: Heap space ermitteln und hochsetzen Allgemeine Java-Themen 11
J Applet in JAR packen - was muss in main() stehen? Allgemeine Java-Themen 12
E beim Ende der main() das Programm nicht beenden Allgemeine Java-Themen 3
J Unicode: cmd parameter (main args); exec params; filenames Allgemeine Java-Themen 2
V Mehrere main() in jar, wie starten? Allgemeine Java-Themen 4
J Methode nicht ausführbar in main Allgemeine Java-Themen 7
P Kann .jar nicht ausführen - main class not found Allgemeine Java-Themen 6
B Jar File und die Main Klassen Allgemeine Java-Themen 3
M zwei main-Methoden Allgemeine Java-Themen 7
L static main - Spezifikation? Allgemeine Java-Themen 7
N Main-Klasse wird beim Aufruf des JARs nicht gefunden Allgemeine Java-Themen 8
J Exception in thread "main" java.lang.OutOfMemoryEr Allgemeine Java-Themen 26
G [JDK 6u2] - JAR Failed to load Main-Class manifest attribute Allgemeine Java-Themen 6
P Zugriff von Klasse 2 auf Klasse 1 (die main methode hat) Allgemeine Java-Themen 5
G Programm ohne Main Allgemeine Java-Themen 10
M Parameter an main übergeben aber wie? Allgemeine Java-Themen 4
J jar-Datei enthält keine Main-Class Allgemeine Java-Themen 22
C Mehrere main-Klassen in JAR Allgemeine Java-Themen 2
S Exception in Thread "main" java.lang.NoClassDef. b Allgemeine Java-Themen 2
G "Could not find the main class. Program will exit" Allgemeine Java-Themen 20
A Warum gibts die Main und was sollte drin stehen? Allgemeine Java-Themen 31
B Exception in thread "main" java.lang.NoClassDefFou Allgemeine Java-Themen 12
S Programmlogik, wo ist die Main? Allgemeine Java-Themen 9
C Mehrere main-Methoden in einer jar Allgemeine Java-Themen 7
G DBzugriff funktioniert nach 'Build Main Project' nicht mehr Allgemeine Java-Themen 2
P Exception in thread "main" java.lang.NoClassDefFou Allgemeine Java-Themen 3
P Exception in thread "main" java.lang.NoClassDefFou Allgemeine Java-Themen 15
P Exception in thread "main" java.lang.NoClassDefFou Allgemeine Java-Themen 3
S wie übergebe ich eine Variable aus einer Methode an main() ? Allgemeine Java-Themen 16
B Exception in thread "main" java.lang.OutOfMemoryEr Allgemeine Java-Themen 5
S Exception in thread "main" java.lang.StringIndexOu Allgemeine Java-Themen 9
R Ausführen von *.JAR || "Could not find main class" Allgemeine Java-Themen 7
I "Could not find the main class. Program will exit" Allgemeine Java-Themen 6
L boolean aus der main übergeben? Allgemeine Java-Themen 12
H jar-file in anderem main programm ausführen Allgemeine Java-Themen 2
M Klassenname in main-Methode ausgeben? Allgemeine Java-Themen 29
G Exception in thread "main" :? Allgemeine Java-Themen 5
E Exception in Thread "main" java.lang.NoClassDefFou Allgemeine Java-Themen 5
B Could not find the main class Allgemeine Java-Themen 2
A Was haltet ihr von einer standardisierten Main Klasse? Allgemeine Java-Themen 4
E Klasse dynamisch über main-Methode aufrufen Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben