setter funktionieren nicht

Status
Nicht offen für weitere Antworten.

Cathamenia

Mitglied
Hallo!

Entweder bin ich total blöd oder hier stimmt etwas nicht. Ich habe ein Programm in dem es 2 Klassen gibt. Die eine Klasse ist für die GUI zuständig, die andere berechnet etwas. Wenn in der Klasse die etwas berechnet wird ein bestimmter Wert rauskommt, soll in der GUI zb ein Label geändert werden. Ich mach das mit folgender Funktion:

Code:
void setList(){
        System.out.println("ich werde aufgerufen");
        label1.setText("Test");
    }

Nun weiß ich nicht warum, aber das Funktioniert nicht. Das System.out.println() was ich zum testen eingebaut habe wird aufgerufen, aber am label wird nix geändert.

:?: :?: :?:
 

Cathamenia

Mitglied
Das brachte keine Auswirkung. Ich habe die setList() mal aus der selben klasse per Button-Click aufgerufen und da wird beides gemacht, aber wenn es es aus der anderen Klasse aufrufe, wird das label nicht verändert.
 
B

Beni

Gast
Du bist sicher, dass es das richtige Label ist. Manchmal hat man eine falsche Instanz (und wenn man zwei Labels hat, kann man an Nr.1 lange herumschrauben, Nr.2 wird sich nicht veränderun...)
 

Cathamenia

Mitglied
also wie gesagt, ich habe das ausgiebig gestestet und das label kann auch aus der klasse selber verändert werden.


Das hier:

Code:
private void startActionPerformed(java.awt.event.ActionEvent evt) {                                      
        if (start.getText().equals("Start")){
            start.setText("Stop");
            setList();
        } else {
            start.setText("Start");
        }
    }

liegt in der selben Klasse wie das label und da wird es auch geändert, aber wenn ich setList() aus einer anderen klasse aufrufe, wird nur in die Konsole geprintet.
 

SebiB90

Top Contributor
wieso heißt das label im 1. code label1 und im 2. code start?
das ist doch der fehler oder nicht

edit:ups :oops: das ist ja der button
edit2:zeig mal den code des fensters und der klasse aus derdu setList() aufrufst
 

Cathamenia

Mitglied
Das Graphische habe ich von NetBeans machen lassen, weil das eigentlich nur ein kleines Programm sein sollte und ich keine Lust hatte das selber zu machen. Die Klasse sieht folgendermaßen aus:

Code:
import java.util.Timer;
import javax.swing.JLabel;
import javax.swing.UIManager;

/**
 *
 * @author  Torsten
 */
public class MainFrame extends javax.swing.JFrame {
    
    /** Creates new form MainFrame */
    public MainFrame() {
        initComponents();
    }
      
    
    public  boolean check = false;
    
    public void lauf() {
	Timer timer = new Timer();
	// nach 1 Sek gehts los und dann alle 10 Sekunden
	timer.schedule(new Task(), 1, 10000);
    }
    
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">                          
    private void initComponents() {
        toolBar = new javax.swing.JToolBar();
        start = new javax.swing.JButton();
        label1 = new java.awt.Label();
        urlList = new java.awt.List();
        jMenuBar1 = new javax.swing.JMenuBar();
        menu = new javax.swing.JMenu();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        toolBar.setEnabled(false);

        start.setText("Start");
        start.setPreferredSize(new java.awt.Dimension(65, 23));
        start.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                startActionPerformed(evt);
            }
        });

        label1.setText("label1");

        menu.setText("Datei");
        jMenuBar1.add(menu);

        setJMenuBar(jMenuBar1);

        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(toolBar, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 352, Short.MAX_VALUE)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .add(label1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(229, 229, 229)
                .add(start, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(10, 10, 10))
            .add(layout.createSequentialGroup()
                .addContainerGap()
                .add(urlList, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 332, Short.MAX_VALUE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(layout.createSequentialGroup()
                .add(toolBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 25, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(urlList, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 301, Short.MAX_VALUE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(start, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(label1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );
        pack();
    }// </editor-fold>                        

    private void startActionPerformed(java.awt.event.ActionEvent evt) {                                      
        if (start.getText().equals("Start")){
            start.setText("Stop");
            lauf();
            //label1.setText("test");
            //setList();
        } else {
            start.setText("Start");
        }
    }                                     
    
   
    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {

        try {
            UIManager.setLookAndFeel(
            UIManager.getSystemLookAndFeelClassName() );
        } catch( Exception e ) { 
            e.printStackTrace(); 
        }
        
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new MainFrame().setVisible(true);
            }
        });
    }
    
    public void setList(){
        label1.setText("Test");
    }
    
   //static javax.swing.JLabel jLabel1;
    // Variables declaration - do not modify                     
    private javax.swing.JMenuBar jMenuBar1;
    private java.awt.Label label1;
    private javax.swing.JMenu menu;
    private javax.swing.JButton start;
    private javax.swing.JToolBar toolBar;
    private java.awt.List urlList;
    // End of variables declaration                   
    
}
 
B

Beni

Gast
Was ist denn "Task" (von "new Task()" in Zeile 23)? Dadrin geht doch die Action ab, also poste es auch :wink:
 

Cathamenia

Mitglied
Stimmt, dann sende ich das auch nochmal...

Zur erklärung des Programms, damit es evtl leichter zu verstehen ist:

Ich will wissen, ob bestimmte artikel im Coke-Store erhältlich sind oder nicht, denn sie sind schnell vergriffen, also lasse ich mein Programm dannach gucken indem ich den quelltext auslese und dann darauf reagieren kann.

Code:
package coke;

import java.applet.Applet;
import java.applet.AudioClip;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.util.TimerTask;

class Task extends TimerTask{

	static boolean status = false;
	static int i = 1;
        MainFrame frame = new MainFrame();

	public void run() {
		// boolean validUrl = false;
		URL url;

		try {
			// URL oeffnen und Reader anlegen
			url = new URL("https://store.cokefridge.de/customer/home.php?cat=250");
			Reader inStream = new InputStreamReader(url.openStream());
			BufferedReader inReader = new BufferedReader(inStream);

			// Inhalt der URL zeilenweise auslesen und ausgeben
			boolean stelle = false;
			int counter = 8;
			for (String s; (s = inReader.readLine()) != null;) {
				if (s.equals("<input type=hidden name=productid value=\"16227\">")) {
					stelle = true;
					// System.out.println("bin da");
				}
				if (stelle) {
					counter--;
				}

				if (counter == 0) {
					if (s.equals("[b]Schon vergriffen![/b]")) {
						status = false;
					} else {
						status = true;
					}
				}
				
			}

                        
			if (status) {
                            frame.check = true;
                            frame.setList();
			} else {
                            frame.check = true;
                            frame.setList();
                        }
			
			i++;

			inReader.close();
			inStream.close();
		}

		// Fehlerbehandlung, wenn Reader fehler melden
		catch (IOException e) {
			System.out.println("Verbindungsfehler");
			System.exit(0);
		}
	}
	
}
 
B

Beni

Gast
Der Fehler ist Zeile 18 in Task: du erstellst ein neues MainFrame. Das MainFrame das im Task bekannt ist, und das "echte" MainFrame haben nichts miteinander zu tun.

Versuch mal folgends: übergib im Konstruktor von Task das MainFrame.

Code:
private MainFrame frame = null;

public Task( MainFrame frame ){
  this.frame = frame;
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S ISO 8601 -> getter / setter String Allgemeine Java-Themen 3
B Methoden Java Getter und Setter Methoden Allgemeine Java-Themen 9
S Noch eine Design-Frage zu Setter Allgemeine Java-Themen 6
F ArrayList`s in Klassen mit Getter/Setter Allgemeine Java-Themen 8
N Eigenschaften eines Buttons per Setter verändern Allgemeine Java-Themen 5
perlenfischer1984 Java Builder vs Setter Allgemeine Java-Themen 1
S Klassen Prüfungen im Setter Allgemeine Java-Themen 6
J unterschiedliche Objekte, selbe getter und setter Allgemeine Java-Themen 15
L Getter und Setter Verständnisfrage Allgemeine Java-Themen 10
L OOP Setter u. Getter (und weiteres) Allgemeine Java-Themen 7
M Einkapselung, Getter und Setter Allgemeine Java-Themen 6
D Design ohne Getter und Setter Allgemeine Java-Themen 8
G setter und getter: Parameter Überprüfung Allgemeine Java-Themen 6
J Setter mittels invoice aufrufen Allgemeine Java-Themen 4
wachtda Getter und Setter Allgemeine Java-Themen 1
V Setter zum Berechnen nutzen? Allgemeine Java-Themen 5
M Setter-Methode wird aufgerufen aber ändert nichts? Allgemeine Java-Themen 8
J getter und setter Allgemeine Java-Themen 29
K java.lang.reflect - Getter und Setter ermitteln Allgemeine Java-Themen 8
M Wie funktionieren parallele Java Streams? Allgemeine Java-Themen 1
M Lambada Ausdrücke - wie funktionieren und benutzt man sie? Allgemeine Java-Themen 5
V Threads Weshalb funktionieren meine Threads nicht? Allgemeine Java-Themen 2
E grundkurs-java.de: Applets funktionieren nur teilweise Allgemeine Java-Themen 3
BattleMaster246 Arrays funktionieren nicht Allgemeine Java-Themen 6
S Override will nicht funktionieren :/ Allgemeine Java-Themen 2
M Seit Neuinstallation von Windows funktionieren Applets nicht Allgemeine Java-Themen 3
Zrebna Wieso sollte man Null-Prüfungen nicht mit Optional-Objekten nutzen? Allgemeine Java-Themen 13
kodela Textfeld nicht rechteckig Allgemeine Java-Themen 10
G Doppelklick auf Javaprogramm klapt nicht Allgemeine Java-Themen 1
W Timer terminiert nicht Allgemeine Java-Themen 5
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
W Überflüssige Deklaration vermeiden...war da nicht mal was? Allgemeine Java-Themen 3
N lwjgl kann textureSampler nicht finden Allgemeine Java-Themen 4
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
T .Jar kann man nicht ausführen Allgemeine Java-Themen 18
P JDK nicht installiert in Net Object Fusion Allgemeine Java-Themen 7
D Image bewegt sich nicht nach Klicken auf Button Allgemeine Java-Themen 15
N Regex schlägt nicht an Allgemeine Java-Themen 10
Y Wieso krieg ich die Unit Tests nicht hin Allgemeine Java-Themen 55
D Erste Schritte Mp3 Datei kann nicht von der Festplatte geöffnet werden - mit ChatGPT erstellt Allgemeine Java-Themen 7
G Popup wird nicht sichtbar Allgemeine Java-Themen 9
8u3631984 Funktions Parameter mit Lombok "NonNull" annotieren wird in Jacococ Testcoverage nicht herausgefiltert Allgemeine Java-Themen 3
kodela String kann nicht zu Pfad konvertiert werden Allgemeine Java-Themen 16
M Apache Proxy Weiterleitung auf Tomcat funktioniert nicht wie gewünscht Allgemeine Java-Themen 1
Momo16 Brauche Hilfe - Java Projekt kann nicht erstellt werden Allgemeine Java-Themen 12
OnDemand ApacheCommon FTP Client zuckt nicht Allgemeine Java-Themen 3
T JavaPoet - (noch) nicht existente Typen Allgemeine Java-Themen 2
E Es ist nicht möglich, eine Batch-Anweisung auszuführen. Allgemeine Java-Themen 9
C Was passt hier nicht bei der Calendar-Class Allgemeine Java-Themen 2
T Testing JUnit5: try ... catch arbeitet nicht sauber Allgemeine Java-Themen 6
W While Schleife funktioniert nicht ganz Allgemeine Java-Themen 4
OnDemand MemoryLeak nicht zu finden Allgemeine Java-Themen 26
torresbig Website login Problem - Jsoup, wie bisher, klappt nicht! Allgemeine Java-Themen 31
H do-while Schleife funktioniert nicht wie ich es möchte Allgemeine Java-Themen 7
ERlK JDA Code funktioniert nicht? Allgemeine Java-Themen 4
OnDemand Ram Freigabe erfolgt nicht nach Prozessende Allgemeine Java-Themen 18
OnDemand XML desializing Attribute bringt nicht erwartetes Ergebnis Allgemeine Java-Themen 16
T ImageIcon wird nicht angezeigt Allgemeine Java-Themen 6
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
stormyark TikTakToe funktioniert nicht Allgemeine Java-Themen 10
N Warum wird die For Schleife nicht betreten Allgemeine Java-Themen 4
Tiago1234 Hauptklasse konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 38
T Remove bei ArrayList funktioniert nicht Allgemeine Java-Themen 2
M Map<String,String>funktioniert nicht richtig Allgemeine Java-Themen 4
I "Neues" Lizenzmodell Oracle - JRE nicht mehr zur Redistribution freigegeben? Allgemeine Java-Themen 16
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
A code wird nicht ausgeführt Allgemeine Java-Themen 3
Blender3D Alte Beiträge nicht mehr vorhanden Allgemeine Java-Themen 6
M Warum hat Java dieses und jenes nicht... Allgemeine Java-Themen 8
W Bilder werden in App mit Jar-Datei nicht angezeigt Allgemeine Java-Themen 15
Micha43 Applet *.jar läuft nicht auf dem Mac Allgemeine Java-Themen 8
M Warum bekommen ich den Result nicht ? Allgemeine Java-Themen 17
Kiki01 Häufigster Buchstabe lässt sich nicht ermitteln Allgemeine Java-Themen 30
OnDemand RegEx /compilebekomme nicht die erwarteten Werte Allgemeine Java-Themen 9
HerrBolte Seltsamer Fehler nur in der Windows- und nicht in der Java-Console O_O Allgemeine Java-Themen 16
P String.replace() funktioniert nicht? Allgemeine Java-Themen 3
N nicht einsehbarer Fehler im code, kann nicht mehr übersetzten Allgemeine Java-Themen 51
P Karate API Test läuft nicht durch . initializationError Allgemeine Java-Themen 21
N nicht static und auch nicht new Allgemeine Java-Themen 3
Z macOS java konnte nicht entfernt werden xpc verbindungsfehler Allgemeine Java-Themen 4
T Schaltfläche wird nicht gefunden Allgemeine Java-Themen 4
boschl2000 Springerproblem-Implementierung funktioniert nicht richtig Allgemeine Java-Themen 1
F Getter Methode aufrufen funktioniert nicht Allgemeine Java-Themen 1
N Gierigen Regex in nicht-gierigen umwandeln Allgemeine Java-Themen 4
N Regulärer Ausdruck funktioniert nicht Allgemeine Java-Themen 6
AleXusher Hauptklasse startlösung konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 1
G @PostConstruct Annotation nicht mehr gültig ? Allgemeine Java-Themen 7
L Objekte in Set nicht gefunden Allgemeine Java-Themen 13
T Projekt baut nicht mehr/lässt sich nicht mehr ausführen Allgemeine Java-Themen 6
izoards log4j2 will nicht.... Allgemeine Java-Themen 15
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
1Raini Java if-Abfrage funktioniert nicht! Allgemeine Java-Themen 3
D Firebase retrieve data Problem, Child Element wird nicht angesprochen Allgemeine Java-Themen 0
I serialVersionUID - explizit vergeben oder nicht? Allgemeine Java-Themen 6
MiMa Vorhandenes das nicht existiert?? Allgemeine Java-Themen 7
LimDul Hä? Lambda-Ausdruck geht, Methoden-Referenz nicht Allgemeine Java-Themen 8
O Jar lässt sich auf bestimmten Pc nicht starten Allgemeine Java-Themen 18
T Fremde Typen mockt man nicht? Allgemeine Java-Themen 3
Killunox MaxHeap Zuweisung unter Linux funktioniert nicht Allgemeine Java-Themen 1

Ähnliche Java Themen

Neue Themen


Oben