Jlabel Text von anderen Klasse aus ändern

Flown

Administrator
Mitarbeiter
Referenz auf das Objekt, in der Klasse eine Methode zum setzen des Textes des JLabels einfügen. <referenz>.setText(<text>); fertig!
 

BukkitDEV

Mitglied
Danke
Ich kenne mich mit Java noch nicht sehr gut aus., weshalb ich nicht genau verstehe was du meinst.
Das ist meine GUI Klasse

Java:
package me.Rechner;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.math.BigInteger;

/**
* Created by Admin_Trommer on 01.10.2015.
*/
public class Rechner {
    private JPanel panel;
    private JButton ausrechnenButton;
    private JTextField textField1;
    private JTextField textField2;
    private JLabel ergebniss;
    private JRadioButton Fakultaet;
    private JRadioButton ggT;
    private JRadioButton teilen;
    private JRadioButton zusammenzählenRadioButton;

    public static void main(String[] args) {
       JFrame frame = new JFrame("Rechner");
        frame.setContentPane(new Rechner().panel);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }

    public Rechner() {
        ausrechnenButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                if (ggT.isSelected() | Fakultaet.isSelected() | teilen.isSelected() | zusammenzählenRadioButton.isSelected()) {

                    if (!textField2.getText().equalsIgnoreCase("")) {

                        if (Fakultaet.isSelected()) {
                            me.Rechner.Fakultaet.fakultaet(Integer.parseInt(textField2.getText()));
                        }

                        if (ggT.isSelected()) {
                            GGT.ggt(Integer.parseInt(textField2.getText()), Integer.parseInt(textField1.getText()));
                        }

                        if (teilen.isSelected()) {
                            Teilen.Teilen(Integer.parseInt(textField2.getText()), Integer.parseInt(textField1.getText()));
                        }

                        if (zusammenzählenRadioButton.isSelected()) {
                            //Zusammenzählen.zusammenzählen();
                        }

                    } else {
                        JOptionPane.showMessageDialog(null, "Biite erst Zahl eingaben !");
                    }
                }else{
                    JOptionPane.showMessageDialog(null, "Bitte erst Rechenoption auswählen");
                }

            }
        });



        Fakultaet.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ggT.setSelected(false);
                teilen.setSelected(false);
                textField1.setEnabled(false);
                textField1.setText("");
                textField2.setText("");
                zusammenzählenRadioButton.setSelected(false);
            }
        });


        ggT.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                Fakultaet.setSelected(false);
                teilen.setSelected(false);
                textField1.setEnabled(true);
                textField1.setText("");
                textField2.setText("");
                zusammenzählenRadioButton.setSelected(false);
            }
        });

        teilen.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                Fakultaet.setSelected(false);
                ggT.setSelected(false);
                textField2.setEnabled(true);
                textField1.setEnabled(true);
                zusammenzählenRadioButton.setSelected(false);
            }
        });

        zusammenzählenRadioButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                Fakultaet.setSelected(false);
                teilen.setSelected(false);
                ggT.setSelected(false);
                textField2.setEnabled(true);
                textField1.setEnabled(true);
            }
        });
    }
}

Und das meine andere Klasse von der aus ich den Text von dem Label ergebniss ändern will:
Java:
package me.Rechner;

import javax.swing.*;

/**
* Created by Admin_Trommer on 03.10.2015.
*/
public class Teilen {
    static int ergebniss = 0;
    public static void Teilen(int a, int b){
        ergebniss = a / b;
        JOptionPane.showMessageDialog(null, a + "/" + b + " = " + ergebniss );
    }
}
 

Flown

Administrator
Mitarbeiter
Ich werde sicher nicht deinen Code durchgehen, aber liefere dir ein lauffähiges Beispiel:
Java:
public class Test {
	
	public static void main(String... args) {
		B b = new B(new A());
		b.addAndPrint(10, 5);
	}
	
}

class A {
	public void print(int x) {
		System.out.println(x);
	}
}

class B {
	private A a;
	
	public B(A a) {
		this.a = a;
	}
	
	public void addAndPrint(int x, int y) {
		a.print(x + y);
	}
}
 

Flown

Administrator
Mitarbeiter
Warum immer gleich mit GUIs und Spielen anfangen, wenn man keine Ahnung hat von den Grundlagen?

Du brauchst dringend Verständnis für OOP und wie man Objekte an ein Anderes weitergibt.
 

Harry Kane

Top Contributor
1. Um zu erreichen, dass von mehreren zusammengehörigen JRadioButtons immer nur einer ausgewählt sein kann, verwendet man eine ButtonGroup.
2. Deine Teilen-Klasse hat nur eine Methode. Diese Methode könntest du auch noch in deine Rechner-Klasse einbauen.
Um es mal etwas grundsätzlicher zu beschreiben:
Wenn du eine Gui-Klasse hast und eine oder mehrere Klassen, die Berechnungen oder allgemein "Services" ausführen, sollte die Service-Klasse nicht die Gui-Klasse oder die UI Elemente der Gui kennen, sondern umgekehrt: Die Gui Klasse kennt die Services und verarbeitet deren Ergebnisse.
Wenn du bei deiner Teilen-Klasse bleiben möchtest, solltest du nicht so verfahren, dass du der Teilen-Klasse eine Referenz auf das JLabel verpasst, und in der Teilen-Methode den Text des JLabels ändert, sondern du rufst in einer geeigneten Methode der Gui-Klasse die Teilen-methode auf und verwendest den Rückgabewert der teilen-Methode 8den du einbauen musst, da die Teilen-Methode aktuell nüscht zurückgibt), um den JLabel-Text zu setzen. Dafür braucht es keine Referenz, weil die Gui-Klasse das JLabel sowieso kennt.
 

JavaWolf165

Mitglied
Jetzt verstehe ich garnichts mehr :-(
Hey, BukkitDEV,
Füge in deine public Rechner das hinzu:

Java:
public void setJLabelText(String Text){
    ergebniss.setText(Text);
}

wenn du das gemacht hast, kannst du mit der Zeile

Rechner.setJLabelText();

den Text aus einer anderen Klasse ändern, indem du in den Klammern den gewünschten Inhalt des JLabels
angibst.

Ich hoffe, ich habe dir geholfen.
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
Mojo7310 Ändern von Text in JLabel mit einem Button AWT, Swing, JavaFX & SWT 11
raeuchertofu Text von JTextfield und JLabel ändern AWT, Swing, JavaFX & SWT 2
R Text vom Jlabel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
S Swing JLabel Text mit der Zeit ändern AWT, Swing, JavaFX & SWT 1
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
2 JLabel - setText ändert den Text nicht AWT, Swing, JavaFX & SWT 4
stylegangsta JLabel anzuzeigenden Text zentrieren AWT, Swing, JavaFX & SWT 9
Z AWT JLabel setzt kein neuen Text AWT, Swing, JavaFX & SWT 6
S JLabel-Text in Methode setzen? AWT, Swing, JavaFX & SWT 2
T Swing HTML Text aus JLabel ohne "HTML-Tags" in String einlesen AWT, Swing, JavaFX & SWT 5
J Swing Text kürzendes JLabel AWT, Swing, JavaFX & SWT 12
J JLabel Text ändern je nach Wahl AWT, Swing, JavaFX & SWT 3
R Text in JLabel als Blocksatz? AWT, Swing, JavaFX & SWT 13
D Swing JLabel - Text überlagert sich AWT, Swing, JavaFX & SWT 2
W JLabel-Text ab best. Zeitpunkt nicht mehr verändern AWT, Swing, JavaFX & SWT 2
R JLabel-Text wird nicht angezeigt AWT, Swing, JavaFX & SWT 5
N JLabel Text aktualisiert sich nicht AWT, Swing, JavaFX & SWT 2
P Swing JLabel Text nach Links ausrichten klappt nicht AWT, Swing, JavaFX & SWT 3
R Swing JLabel Text ausrichtung AWT, Swing, JavaFX & SWT 2
destroflyer Swing Text in JLabel strecken AWT, Swing, JavaFX & SWT 2
H Mit JLabel HTML - formatierten Text anzeigen AWT, Swing, JavaFX & SWT 14
hdi Swing JLabel - Grösse passt sich immer Text an AWT, Swing, JavaFX & SWT 17
G JLabel Text nicht fett AWT, Swing, JavaFX & SWT 1
G JLabel Text 5 sekunden anzeigen lassen AWT, Swing, JavaFX & SWT 2
I JLabel Text Abstand AWT, Swing, JavaFX & SWT 9
W Jlabel mit Bild und Text darüber ? AWT, Swing, JavaFX & SWT 6
G JLabel + Text + Bilder AWT, Swing, JavaFX & SWT 10
V Bei JLabel das Icon Über den Text machen AWT, Swing, JavaFX & SWT 2
S Text im JLabel wird nicht als null anerkannt AWT, Swing, JavaFX & SWT 4
S Text in einem JLabel zentrieren AWT, Swing, JavaFX & SWT 4
G JLabel farbiger Text AWT, Swing, JavaFX & SWT 5
H Text auf JLabel ausgeben? AWT, Swing, JavaFX & SWT 2
G jButton Text zu Integer umwandeln // jLabel mit Counter auf AWT, Swing, JavaFX & SWT 16
vogella JLabel - Ausrichten von Text AWT, Swing, JavaFX & SWT 3
A Problem mit InvokeAndWait - JLabel Text verändern AWT, Swing, JavaFX & SWT 2
G Textfarbe in jLabel ändern,sobald neuer Text eingegeben wird AWT, Swing, JavaFX & SWT 3
W mehrzeiliger Text in JLabel AWT, Swing, JavaFX & SWT 2
EagleEye Text in JLabel erneuern AWT, Swing, JavaFX & SWT 2
C Swing Übergabe von String an JLabel AWT, Swing, JavaFX & SWT 9
H Swing Anpassen der Textgröße im JLabel funktioniert nur bedingt AWT, Swing, JavaFX & SWT 7
D JLabel übereinanderlegen AWT, Swing, JavaFX & SWT 5
E JLabel kopieren AWT, Swing, JavaFX & SWT 31
kodela HTML-tags für JLabel AWT, Swing, JavaFX & SWT 9
J Swing JLabel Verknüpfung aktualisieren AWT, Swing, JavaFX & SWT 3
L Swing JLabel wird beim ändern der Schriftart immer neu gezeichnet. AWT, Swing, JavaFX & SWT 2
F JLabel mit ImageIcon per Button bewegen AWT, Swing, JavaFX & SWT 4
H String teilen, damit bei JLabel keine Punkte am Ende angezeigt werden AWT, Swing, JavaFX & SWT 4
E JLabel AWT, Swing, JavaFX & SWT 1
K JLabel mit Bilder im nicht initialisierten JPanel hinzufügen AWT, Swing, JavaFX & SWT 5
I JLabel neue Zeile AWT, Swing, JavaFX & SWT 4
L JLabel ist verzerrt/größer als eingestellt AWT, Swing, JavaFX & SWT 15
B Observer Pattern JLabel ändern AWT, Swing, JavaFX & SWT 7
R Kann JLabel in ActionListener nicht aufrufen AWT, Swing, JavaFX & SWT 4
E Wie kann ich ein JLabel auf größe der schriftlänge setzten? AWT, Swing, JavaFX & SWT 2
D zwei JLabel stapeln in einem JPanel AWT, Swing, JavaFX & SWT 5
BreakdownBob Swing JLabel verschwindet hinter Image AWT, Swing, JavaFX & SWT 2
L Kalendar als JLabel einfügen AWT, Swing, JavaFX & SWT 3
stroggi Swing Mehrere transparentes Objekte (Grafiken) über einem Bild (JLabel) darstellen AWT, Swing, JavaFX & SWT 4
it_is_all jLabel.setText -> Char in Str: NullpointerException AWT, Swing, JavaFX & SWT 1
4 Swing JLabel wird ,,abgehackt" AWT, Swing, JavaFX & SWT 3
it_is_all JLabel.setIcon - funktioniert nicht mehr AWT, Swing, JavaFX & SWT 2
P Aktualisierung von jLabel in jFrames AWT, Swing, JavaFX & SWT 8
DaCrazyJavaExpert Swing JLabel Klickanimation AWT, Swing, JavaFX & SWT 4
A Swing JLabel als Parameter übergeben AWT, Swing, JavaFX & SWT 9
M JLabel ausrichten AWT, Swing, JavaFX & SWT 2
S JLabel setText() Problem AWT, Swing, JavaFX & SWT 6
Z jLabel von Methode aus aktualisieren AWT, Swing, JavaFX & SWT 7
T JLabel Textinhalt von Oben anzeigen AWT, Swing, JavaFX & SWT 1
N JLabel in JTabbedPane verschieben AWT, Swing, JavaFX & SWT 2
N JLabel ändern während Programm ausgeführt wird AWT, Swing, JavaFX & SWT 4
R Swing JLabel berührung an einem anderen Label prüfen AWT, Swing, JavaFX & SWT 3
Thallius Swing "..." beim JLabel verhindern? AWT, Swing, JavaFX & SWT 3
OlafHD JLabel im JFrame Zentrieren AWT, Swing, JavaFX & SWT 2
T Event Handling JLabel als eigener Button AWT, Swing, JavaFX & SWT 7
T JLabel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
KilledByCheese Swing 2D JLabel Array Maze zeichnen AWT, Swing, JavaFX & SWT 2
F Abgeleitetes JLabel AWT, Swing, JavaFX & SWT 16
D Swing keine JLabel-Aktualisierung bei "externem" Aufruf durch Helferklasse AWT, Swing, JavaFX & SWT 10
S jLabel HTML Formatierung AWT, Swing, JavaFX & SWT 2
J Statisches JLabel adden AWT, Swing, JavaFX & SWT 4
J JLabel Visible setzen in KeyListener AWT, Swing, JavaFX & SWT 13
T JLabel in die Mitte(JLabel.CENTER geht nicht) AWT, Swing, JavaFX & SWT 12
stylegangsta JLabel durch Klick auf JButton einblenden AWT, Swing, JavaFX & SWT 16
K Swing unterschied JTextField und JLabel AWT, Swing, JavaFX & SWT 7
F Swing JLabel in JFrame anpassen AWT, Swing, JavaFX & SWT 20
E JLabel aus Runnable ändern AWT, Swing, JavaFX & SWT 2
D JLabel bei Aufruf neue Zeile AWT, Swing, JavaFX & SWT 5
W Swing JLabel jede Sekunde aktualisieren, ohne Timer zu benutzen AWT, Swing, JavaFX & SWT 4
F ListCellRenderer mit JLabel und MouseListener AWT, Swing, JavaFX & SWT 4
F Swing JLabel wird nicht sofort Angezeigt AWT, Swing, JavaFX & SWT 3
D Timer für Bildfolge in einem jLabel AWT, Swing, JavaFX & SWT 5
GreyFox JLabel in laufender Anwendung erzeugen AWT, Swing, JavaFX & SWT 6
H Position eines JLabel in einem JPanel AWT, Swing, JavaFX & SWT 2
Z Auf ein JLabel drauf malen? AWT, Swing, JavaFX & SWT 1
S JLabel in den Vordergrund rücken AWT, Swing, JavaFX & SWT 1
A JLabel hochzählen lassen. AWT, Swing, JavaFX & SWT 6
S JLabel mit ImageIcon, komischer Rahmen? AWT, Swing, JavaFX & SWT 2
I Swing JLabel Bild für 1sec anzeigen lassen AWT, Swing, JavaFX & SWT 13
S JLabel anordnen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben