bei erstelltem Label Farbe ändern...

Von: , 18.04.2011 09:47 Uhr


Hallo zusammen,

habe mit Java und Swing eine kleine Anwendung geschrieben, die Mitgliedskarten erstellt.

Meine Anwendung erstellt zuerst ein Frame in dem die ganzen Eingabefelder sind und ein Button der einen ColorChooser öffnet. Dort soll eine Farbe ausgesucht werden und ein bereits erstelltes Label in dem bereits geöffneten Fenster geändert werden.

Die Farbe kommt an der richtigen Stelle an, jedoch ändert sich die Farbe im Label nicht...

Bitte helft mit.
Danke.

4 Antworten zu dieser Frage

  1. Antwort von nach einer Stunde 0 hilfreich
    Re: bei erstelltem Label Farbe ändern...

    Hallo,

    solche Fragen tauchen immer auf, wenn das bereits erstellte Fenster nicht mehr verändert werden kann. So aus der Ferne ist das Problem ohne Code nicht zu beantworten.

    Gruß VA

  2. Antwort von nach 5 Stunden 0 hilfreich
    Re: bei erstelltem Label Farbe ändern...

    Hi,

    schau dir mal folgendes Java File an.

    http://download.oracle.com/javase/tutorial/uiswing/e...

    Im Quellcode gibt es folgende Stelle:

    public void stateChanged(ChangeEvent e) {
    Color newColor = tcc.getColor();
    banner.setForeground(newColor);
    }

    wenn du <banner.setForeground(newColor)> gegen <banner.setBackground(newColor)> tauscht, ändert sich die Hintergrundfarbe des Labels.

    Ich hoffe das hilft dir ersteinmal auf die Schnelle.

    Schönen Tag noch

  3. Antwort von nach 5 Tagen 0 hilfreich
    Re: bei erstelltem Label Farbe ändern...

    Hallo innebg,

    es sollte funktionieren, wenn dem Lable mit setBackground(color) oder setForeground(color) die aus dem Dialog erhaltene Farbe gesetzt wird.

    Hier mein Beispiel:

    <code>
    import java.awt.BorderLayout;
    import java.awt.Frame;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;

    import javax.swing.JButton;
    import javax.swing.JColorChooser;
    import javax.swing.JLabel;
    import javax.swing.SwingConstants;

    public class MyLabel extends JLabel
    implements ActionListener
    {
    private static final long serialVersionUID = 1L;

    public static void main(String[] args)
    {
    MyLabel l = new MyLabel();
    l.setText("my new MyLabel");
    l.setHorizontalAlignment(SwingConstants.CENTER);
    JButton b = new JButton("Choose color");
    b.addActionListener(l);
    final Frame f = new Frame("wer-weiss-was");
    f.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
    f.dispose();
    }
    });
    f.setLayout(new BorderLayout());
    f.add(l, BorderLayout.CENTER);
    f.add(b, BorderLayout.SOUTH);
    f.pack();
    f.setVisible(true);
    }

    public void actionPerformed(ActionEvent a)
    {
    this.setForeground(JColorChooser.showDialog(this, "Choose color", this.getForeground()));
    };
    }
    </code>

    Johannes

  4. Antwort von nach 113 Tagen 0 hilfreich
    Re: bei erstelltem Label Farbe ändern...

    Ein Code-Beispiel wäre eventuell hilfreich. Ansonsten einfach mal probieren label.repaint() aufzurufen.

Jetzt auf diese Frage antworten.