Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Swing e repaint

  1. #1

    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!!!!


    Ultima modifica di iJim; 16-05-2015 a 00:28

  2. #2
    Scusate, ho risolto!
    bastava chiamare
    codice:
    <MiaClasseCheEstendeJPanel>.setBounds(0, 0, getSize().width, getSize().height);
    prima di
    codice:
    <MiaClasseCheEstendeJPanel>.setVisible(true);

  3. #3
    Scusate l'abbaglio! 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
    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!!

  4. #4
    Il problema stava nel layout, bastava settare a null il lauoyt del JPanel che scompariva!
    codice:
    areaBox.setLayout(null);

  5. #5
    hai fatto tutto tu....
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.