Repaint-Problem

Status
Nicht offen für weitere Antworten.

Azrahel

Bekanntes Mitglied
So hab ne Frage:

Ich hab ein Jpanel auf dem male ich ein wenig rum. Geht auch.
Aber ich will da auch noch ein andres JPanel drüber lagern. Und das positioniert.

Code:
public class Demo extends JPanel { 
    private File date;
    private Image image;
    
    public Demo() { 
        this.setPreferredSize(new Dimension(800,600)); 
        this.setBorder(BorderFactory.createEtchedBorder());
        date = new File( "C:/javaifai/eclipse 3.1/workspace/demo/images/blue.JPG" );        
        try {
	image = ImageIO.read( date );        
        } catch (IOException e) {
	e.printStackTrace();
        }
        //Fall 1:	
        JPanel p = new JPanel();
        p.setLayout(new BorderLayout());
        p.add(new JLabel(new ImageIcon( "C:/javaifai/eclipse 3.1/workspace/demo/images/2mast.JPG" )));
        p.setMaximumSize(new Dimension(41,32));
        p.setMinimumSize(new Dimension(41,32));
        p.setPreferredSize(new Dimension(41,32));
        p.setSize(new Dimension(41,32));
        this.add((JComponent)p);
        p.move(100,100);
        //ende Fall 1
    } 

    public void paintComponent(Graphics g) { 
        super.paintComponent(g); 
        if(image!=null){
      	  g.drawImage( image, xPos  , yPos  , null);
        }

        //Fall 2	
        JPanel p = new JPanel();
        p.setLayout(new BorderLayout());
        p.add(new JLabel(new ImageIcon( "C:/javaifai/eclipse 3.1/workspace/demo/images/2mast.JPG" )));
        p.setMaximumSize(new Dimension(41,32));
        p.setMinimumSize(new Dimension(41,32));
        p.setPreferredSize(new Dimension(41,32));
        p.setSize(new Dimension(41,32));
        this.add((JComponent)p);
        p.move(100,100);

        //Ende Fall2
    }    }

Fall 1: Das Oben liegende Panel wird zwar dargestellt einschliesslich des JPG, aber es lässt sich nicht positionieren, sondern ist immer oben Mittig im HauptPanel.

Fall 2: Das Oben liegende Panel lässt sich zwar positionieren, aber das JPG erscheint nicht


???:L

Könnt mich da mal jemand draufschubsen?
 

Macki

Mitglied
Mhh bin bestimmt kein Experte, von daher sind meine Antworten eh immer mit Vorsicht zu genießen, aber ich würde an deiner Stelle keine Layouts benutzen.

Wenn ich Positionen genau bestimmen will, nutze ich bla.setBounds(Zahl, Zahl, Zahl, Zahl), gebe die gewünschte Position ein und gut is.

Die Zahlen stellen (der Reihenfolge nach) den Abstand vom linken Fensterrand, den Abstand vom oberen Fensterrand, die Länge und die Breite des Objketes dar.

Ich hoffe damit kommst du weiter.

Liebe Grüße
Macki
 

Azrahel

Bekanntes Mitglied
wenn ich das setLayout weglasse wird das JPG in dem oben liegenden Panel nicht mittig dargestellt.

das set Bounds funktioniert genau wie das move, jedoch hab ich da die gleichen Probleme wie in fall 1 und 2

Aber Danke für deine Hilfe Macki :)

Hat vielleicht noch jemand Rat?
 

Azrahel

Bekanntes Mitglied
Hier mal als KSKB:

Code:
package classes;


public class Main {
	  
	    
	public static void main(String args[]) {
			new Gui();
    }
}

Code:
package classes;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.ToolTipManager;

public class Gui extends JFrame {
	private static final long serialVersionUID = -142811712591457153L;
    
    /**
	 *	Konstruktor 
	 *
	 */
    public Gui() {
    	super();	  
    	this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	//this.setSize(Toolkit.getDefaultToolkit().getScreenSize()); 
    	//this.setExtendedState( Frame.MAXIMIZED_BOTH ); 
		this.setSize(800,600);
		//Tooltiptext anzeigedauer ändern
		ToolTipManager.sharedInstance().setDismissDelay(120000);  //2minuten
		this.add(new CDemo());
		this.setVisible(true);
    }
	    
    
     protected void processWindowEvent(WindowEvent we){
		if (we.getID() == WindowEvent.WINDOW_CLOSING) {
			//int exit = JOptionPane.showConfirmDialog(this, "Wollen Sie die Anwendung beenden?");
			//if (exit == JOptionPane.YES_OPTION){
			System.exit(0);
		}
		else super.processWindowEvent(we);
	 }
}

Code:
package classes;

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class CDemo extends JPanel { 
    private File date;
    private Image image;
	
    public CDemo() { 
        this.setPreferredSize(new Dimension(800,600)); 
        
        date = new File( "C:/javaifai/eclipse 3.1/workspace/demo/images/blue.JPG" );
        
        try {
			image = ImageIO.read( date );
	    } catch (IOException e) {
			e.printStackTrace();
		}
	    JPanel p = new JPanel();
		//p.setLayout(new BorderLayout());
		p.add(new JLabel(new ImageIcon( "C:/javaifai/eclipse 3.1/workspace/demo/images/2mast.JPG" )));
		p.setMaximumSize(new Dimension(41,32));
		p.setMinimumSize(new Dimension(41,32));
		p.setPreferredSize(new Dimension(41,32));
		p.setSize(new Dimension(41,32));
		p.setBounds(100,100,41,32);
		this.add((JComponent)p);
    }

    public void paintComponent(Graphics g) { 
        super.paintComponent(g); 
        if(image!=null){
      	  g.drawImage( image, 0  , 0  , null);
        }
        JPanel p = new JPanel();
		//p.setLayout(new BorderLayout());
		p.add(new JLabel(new ImageIcon( "C:/javaifai/eclipse 3.1/workspace/demo/images/2mast.JPG" )));
		p.setMaximumSize(new Dimension(41,32));
		p.setMinimumSize(new Dimension(41,32));
		p.setPreferredSize(new Dimension(41,32));
		p.setSize(new Dimension(41,32));
		p.setBounds(100,100,41,32);
		this.add((JComponent)p);
    } 
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Problem: repaint() - Schleife AWT, Swing, JavaFX & SWT 3
B Swing Repaint Problem - mal wieder AWT, Swing, JavaFX & SWT 5
Ernesto95 AnimationLoop - Problem bei Aufruf von repaint AWT, Swing, JavaFX & SWT 6
P EDT Problem? Kein Aufruf der repaint Methode AWT, Swing, JavaFX & SWT 6
kodela Problem mit repaint() AWT, Swing, JavaFX & SWT 3
H repaint()-Problem - 50% CPU-Auslastung AWT, Swing, JavaFX & SWT 4
T repaint() Problem AWT, Swing, JavaFX & SWT 2
K Jpanel repaint problem (Fullscreen) AWT, Swing, JavaFX & SWT 5
E AWT Problem mit Repaint (in Loop oder Timer) AWT, Swing, JavaFX & SWT 3
J Swing Verständnis-Problem repaint(int x,int y,int width,int height) AWT, Swing, JavaFX & SWT 3
J [gelöst] repaint problem AWT, Swing, JavaFX & SWT 2
M problem mit repaint()-Methode[gelöst] AWT, Swing, JavaFX & SWT 8
G problem mit threads/repaint ! AWT, Swing, JavaFX & SWT 2
D Problem mit Netbeans und repaint() AWT, Swing, JavaFX & SWT 5
E Problem mit repaint() AWT, Swing, JavaFX & SWT 11
K Problem mit JLabel, Rechteck, repaint() ;) AWT, Swing, JavaFX & SWT 2
K Problem repaint()->paintComponent AWT, Swing, JavaFX & SWT 9
M Problem bei Repaint von Panels AWT, Swing, JavaFX & SWT 2
L Swing repaint problem AWT, Swing, JavaFX & SWT 7
B Problem bei repaint AWT, Swing, JavaFX & SWT 5
V repaint problem AWT, Swing, JavaFX & SWT 12
S repaint()-Problem AWT, Swing, JavaFX & SWT 6
S Repaint()-Problem im GBL? AWT, Swing, JavaFX & SWT 5
S paint/repaint problem mit awt/swing? AWT, Swing, JavaFX & SWT 2
L repaint()-Problem AWT, Swing, JavaFX & SWT 18
D Repaint Funktioniert nicht AWT, Swing, JavaFX & SWT 2
D JUNG Repaint function does not work AWT, Swing, JavaFX & SWT 2
E repaint Probleme AWT, Swing, JavaFX & SWT 13
G listener repaint() - verschiedene Darstellung AWT, Swing, JavaFX & SWT 24
ExceptionOfExpectation Textdarstellung auf einem Canvas mit Hilfe von repaint(); AWT, Swing, JavaFX & SWT 6
J actionperformed wird nicht aufgerufen/ repaint() AWT, Swing, JavaFX & SWT 6
L Swing repaint() ruft paintComponent(g1d) nicht auf AWT, Swing, JavaFX & SWT 12
G Repaint wird nicht durchgeführt AWT, Swing, JavaFX & SWT 8
I Swing Verhindern, dass repaint() kaskadiert AWT, Swing, JavaFX & SWT 6
ms_cikar Update swingUtilities Repaint in der Schleife AWT, Swing, JavaFX & SWT 3
T Swing Probleme mit repaint() bzw. JScrollPane AWT, Swing, JavaFX & SWT 7
N Swing JButtons werden nach repaint() doppelt dargestellt AWT, Swing, JavaFX & SWT 12
K Methode repaint() AWT, Swing, JavaFX & SWT 1
B Swing Wann brauche ich repaint() ? AWT, Swing, JavaFX & SWT 1
javampir Swing repaint in JavaFX Anwendung AWT, Swing, JavaFX & SWT 3
A repaint(); AWT, Swing, JavaFX & SWT 9
J Swing ungewünschter Nebeneffekt bei der repaint() Methode AWT, Swing, JavaFX & SWT 3
S 2D-Grafik repaint()-Aufruf. Und nichts geschieht. AWT, Swing, JavaFX & SWT 5
Joew0815 JDialog repaint() funktioniert nicht wie gewünscht. AWT, Swing, JavaFX & SWT 2
P JPanel und Repaint AWT, Swing, JavaFX & SWT 5
J JavaFX Automatisches Neuzeichnen ("Repaint") abstellen. AWT, Swing, JavaFX & SWT 10
F JTable Repaint Issue AWT, Swing, JavaFX & SWT 1
N Observer: update ruft nicht repaint auf AWT, Swing, JavaFX & SWT 0
C Repaint() funktioniert nicht in TabbedPanel AWT, Swing, JavaFX & SWT 5
S JList repaint AWT, Swing, JavaFX & SWT 1
L NullpointerException und Probleme mit repaint() AWT, Swing, JavaFX & SWT 11
M Repaint mittels Button richtig aufrufen klappt nicht AWT, Swing, JavaFX & SWT 1
B Repaint auf JFrame, JLabel und ImageIcon AWT, Swing, JavaFX & SWT 4
K 2D-Grafik Paint - Wie binde ich repaint ein? AWT, Swing, JavaFX & SWT 8
D repaint() klappt anders als vorgestellt AWT, Swing, JavaFX & SWT 15
R Repaint() in Schleifen, Threads AWT, Swing, JavaFX & SWT 13
P 2D-Grafik Gezielter Repaint einzelner Frames in Java-Game AWT, Swing, JavaFX & SWT 6
javampir Bei repaint nix los AWT, Swing, JavaFX & SWT 2
B Swing repaint() AWT, Swing, JavaFX & SWT 3
P 2D-Grafik repaint(); steigender RAM Verbauch AWT, Swing, JavaFX & SWT 6
Y KeyListener, GUI Thread, repaint AWT, Swing, JavaFX & SWT 7
S Applet Repaint AWT, Swing, JavaFX & SWT 3
M Programm hängt sich auf nachdem repaint() benutzt wurde AWT, Swing, JavaFX & SWT 2
R Swing Grafikfehler bei repaint AWT, Swing, JavaFX & SWT 2
N repaint() blockieren AWT, Swing, JavaFX & SWT 6
K canvas zeig nach repaint nichts an AWT, Swing, JavaFX & SWT 8
M Repaint() AWT, Swing, JavaFX & SWT 14
J Swing repaint, repaint, repaint AWT, Swing, JavaFX & SWT 8
M Applet repaint() verlangsamen AWT, Swing, JavaFX & SWT 7
R paintComponent malt bei repaint() Rahmen um Panel AWT, Swing, JavaFX & SWT 7
V Applet JApplet Flackern durch Repaint AWT, Swing, JavaFX & SWT 11
N Swing Funktion repaint() updated nicht AWT, Swing, JavaFX & SWT 5
F repaint reagiert nicht AWT, Swing, JavaFX & SWT 8
S AWT Probleme mit repaint() AWT, Swing, JavaFX & SWT 2
D Repaint()? Oder was??? AWT, Swing, JavaFX & SWT 5
M Eine nicht korrekte Darstellung bei repaint() warum? AWT, Swing, JavaFX & SWT 4
T 2D-Grafik Kreis "von Hand" zeichnen -> jedesmal repaint()? AWT, Swing, JavaFX & SWT 6
R validate(), repaint funktionieren nicht! AWT, Swing, JavaFX & SWT 7
B AWT Canvas überdeckt nach repaint() JComboBox-Optionen AWT, Swing, JavaFX & SWT 2
B Swing verschachteltes GUI: repaint() ändert mehr als nur gewünschte Component AWT, Swing, JavaFX & SWT 4
S validate(), invalidate(), repaint(),... Was kommt wann? AWT, Swing, JavaFX & SWT 5
M 2D-Grafik repaint() löscht altes Bild nicht AWT, Swing, JavaFX & SWT 2
J repaint() nicht richtig? AWT, Swing, JavaFX & SWT 6
R repaint erzwingen AWT, Swing, JavaFX & SWT 3
Zettelkasten repaint() von anderen Klassen aufrufen AWT, Swing, JavaFX & SWT 4
P repaint während Thread läuft AWT, Swing, JavaFX & SWT 9
D Repaint Frage, Design Frage AWT, Swing, JavaFX & SWT 2
N Swing MainWindow(JFrame) aktualisieren(neuzeichnen) repaint AWT, Swing, JavaFX & SWT 4
A 2D-Grafik Repaint - Alternative? AWT, Swing, JavaFX & SWT 3
C JLabel, JTextArea, JScrollPane. repaint(); ? AWT, Swing, JavaFX & SWT 6
N Swing repaint() funktioniert nicht AWT, Swing, JavaFX & SWT 5
T Swing repaint funktioniert nur manchmal? AWT, Swing, JavaFX & SWT 6
V Swing Bei repaint() tut sich nichts AWT, Swing, JavaFX & SWT 7
G ColorReader, bei Fadenkreuz zeichnen mit repaint() flackern AWT, Swing, JavaFX & SWT 19
I Canvas Repaint Probleme AWT, Swing, JavaFX & SWT 2
D Swing Actionlistener verhindert repaint?! AWT, Swing, JavaFX & SWT 2
S JLabel repaint AWT, Swing, JavaFX & SWT 8
C Swing Linux mag mein Swing-repaint() nicht... AWT, Swing, JavaFX & SWT 7
J Swing paintComponent() - repaint() - BufferedImage anzeigen AWT, Swing, JavaFX & SWT 5
Luk10 repaint() auch in anderen Klassen! AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen


Oben