Swing e repaint

di il
4 risposte

Swing e repaint

Salve a tutti,
Ho creato una piccola aaplicazione in java usando Swing.
Ho una classe che estende JPanel dentro un JFrame dove vado a disegnare alcuni cerchi, ma ho uno strano comportamento, i cerchi non appaiono se prima non tento di cambiare dimensione alla finestra!!!!
Ho provato a fare il repaint, ma non va!!!!

4 Risposte

  • Re: Swing e repaint

    Scusate, ho risolto!
    bastava chiamare
    <MiaClasseCheEstendeJPanel>.setBounds(0, 0, getSize().width, getSize().height); 
    prima di
    <MiaClasseCheEstendeJPanel>.setVisible(true); 
  • Re: Swing e repaint

    Scusate, non ho risolto!!!!

    Mi ritrovo uno strano comportamento!
    Sto scrivendo una semplice applicazione, come si vede dalla figura ho un JFrame con dentro due JPanel, ma quando avvio l'applicazione un JPanel appare per qualche millisecondo e poi scompare, mentre l'altro rimane!!!



    questo è il codice
    
    	private void setDrawingZone(){
    		
    		drawingZone = new DrawingZone();
    		drawingZone.setSize( ••• );
    		drawingZone.setBounds( ••• );
    		drawingZone.setVisible(true);
    		drawingZone.repaint();
    		
    		areaBox = new JPanel();
    		areaBox.setSize( ••• );
    		areaBox.setBounds( ••• );
    		areaBox.setVisible(true);
    		areaBox.add(drawingZone);
    
    		getContentPane().add( areaBox );
    		areaBox.paintImmediately( ••• );
    		
    		panelLog = new JPanel();
    		panelLog.setSize( ••• );
    		panelLog.setBounds( ••• );
    		panelLog.setVisible(true);
    		
    		log = new JTextArea(  );
    		log.setEditable(false);
    		log.setLineWrap(true);
    		log.setSize( ••• );
    		log.setVisible(true);
    		
    		panelLog.add(log);
    		
    		getContentPane().add(BorderLayout.EAST, panelLog);
    	}
    	
    	
    	private void showLog( String info ){
    		log.setText(info);
    		getContentPane().repaint();
    	}
    
    Non capisco cosa faccia scomparire il primo JPanel!!
  • Re: Swing e repaint

    Il problema stava nel layout, bastava settare a null il lauoyt del JPanel che scompariva!
    areaBox.setLayout(null);
  • Re: Swing e repaint

    [CROSSPOSTING]
    http://forum.html.it/forum/showthread.php?threadid=2925976
Devi accedere o registrarti per scrivere nel forum
4 risposte