Zeichnung verschwindet bei Nutzung von einem Layout

FruityJ

Mitglied
Moin alle zusammen,


ich versuche eine Zeichnung zusammen mit einem Schieberegler anzuzeigen,
wenn ich die Zeichnung und noch den JSlider mit contentPane adde verschwindet die Zeichnung, wird überdeckt, oder sonstwas...

Wenn ich nur die Zeichnung adde --> contentPane.add(ausgabe), wird sie wie gewünscht angezeigt.
Wenn ich dann aber ein Layout anwenden möchte, verschwindet die Zeichnung wieder.

Ich denke das eine wird von dem anderen überdeckt, oder aus dem Bild geschoben.

Ich such da jetzt schon seit gestern nach, finde aber nicht wirklich etwas, was mir weiterhilft.

Hier mal der komplette Quellcode

Java:
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSlider;


public class Hope extends JFrame {

    private Zeichnen ausgabe;
    private JSlider lSr;

    public Hope() {
        super();

        Container contentPane = getContentPane();

        ausgabe = new Zeichnen(); //<--Instanz von Zeichnen erzeugen
        lSr = new JSlider(JSlider.HORIZONTAL, 0, 255, 0);
        contentPane.add(ausgabe); //<-- Zeichnung
        //contentPane.add(lSr);   //<-- JSlider
        
        setTitle("Wird das bald mal was?");
        setSize(500, 500);
        setVisible(true);
    }
    
 
    public static void main(String[] args) {
        new Hope();

    }

}

class Zeichnen extends JLabel {

    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.setColor(Color.green);
        g.fillRect(0, 0, 100, 100);

        
    }
    
}

Wär super wenn da wer einen heißen Tip für mich hätte....

Grüße, FruityJ.
 
danke für die schnelle Antwort,

sobald ich ein Layout setze, verschwindet die Zeichnung (um die geht es mir hier hauptsächlich). Den slider bekomme ich angezeigt, ich kann ihn auch da anzeigen wo ich möchte, links, rechts oder mittig.

Das Problem ist aber, das sobald ich den slider und die Zeichnung mit contentPane.add(); adde erschwindet die Zeichnung. Siehe folgenden kompletten Quellcode....

Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSlider;


public class Hope extends JFrame {

    private Zeichnen ausgabe;
    private JSlider lSr;

    public Hope() {
        super();

        Container contentPane = getContentPane();
        contentPane.setLayout(new BorderLayout());

        ausgabe = new Zeichnen(); //<--Instanz von Zeichnen erzeugen
        lSr = new JSlider(JSlider.HORIZONTAL, 0, 255, 0);
        contentPane.add(ausgabe, BorderLayout.SOUTH); //<-- Zeichnung
        contentPane.add(lSr, BorderLayout.NORTH);   //<-- JSlider
        
        setTitle("Wird das bald mal was?");
        setSize(500, 500);
        setVisible(true);
    }
    
 
    public static void main(String[] args) {
        new Hope();

    }

}

class Zeichnen extends JLabel {

    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.setColor(Color.green);
        g.fillRect(0, 0, 100, 100);

        
    }
    
}
 

Zurück
Oben