Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    6

    una JWindow che rimane vuota :|

    Ciao a tutti..
    non è da tanto che lavoro con interfacce grafiche in java ma ho fatto dei semplici programmini e in uno ho trovato un problema..
    il programma semplicemente apre un frame con un logo qualche pulsante e una barra menu con qualche voce..
    in pratica un frame semplicissimo..
    alla pressione di uno dei tasti lo rendo invisibile e dò la possibilità di scegliere un file (utilizzando JFileChooser) e dopo qualche altro passo utilizzo una JWindow contenente solo una progress bar e un'etichetta su cui stampo cosa effettivamente stà facendo..
    ora il problema è il seguente
    se uso da parte "il pezzo" che va dalla scelta dei file in poi la progress bar ed il resto vanno perfettamente...

    se lancio tutto il prog, la JWindow rimane vuota..
    PERCHè???

    PS: scusate il post lungo ma volevo essere il più chiaro possibile anche se forse ho fatto peggio

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    magari il problema è nella gerarchia dei vari elementi che compongono il frame... hai provato a nascondere quello che nn ti serve?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    6
    a schermo in quel momento appare solo quello..
    per mostrare solo quello intendi che gli altri li "tolgo di mezzo"
    con setVisible(false) ??

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    6
    addirittura, ho provato a fare diversamente..anche se è una cosa stupida l'ho fatto per provare
    ho "svuotato" il frame principale e ci ho messo i componenti e le dimensioni della progress bar che volevo fare..
    nulla da fare..
    frame vuoto

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Posta il codice... prova anche ad aggiungere un validate(); alla fine della costruzione della JWindow
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    6
    questa è la prima vers supersemplificata fatta un bel pò di tempo fa
    erano gli inizi però siccome il problema lo aveva già dato quì..penso che possa andare anche meglio.

    Ho messo solo le parti meno "inutili", grazie mille per l'interessamento comunque

    codice:
    public class CriptoSolo {
    	JFrame princ;
    	JMenuBar bar=new JMenuBar();
    	JMenu question = new JMenu("?");
    	JMenu file = new JMenu("File");
    	JMenuItem close =new JMenuItem("Chiudi programma");
    	JMenuItem about=new JMenuItem("about CrYpto!");
    	JButton lounch = new JButton("Prova programma");
    	ImageIcon logo = new ImageIcon("./images/Cri.png");
    	JLabel lab=new JLabel();
    	
    	public CriptoSolo(){
    		princ = new JFrame("CrYpto! By TuLuR");
    		princWin();
    	}
    	
    	public void princWin(){
    		close.setIcon(new ImageIcon("./images/close.gif"));
    		file.add(close);
    		about.setIcon(new ImageIcon("./images/question.gif"));
    		question.add(about);
    		bar.add(file);
    		bar.add(question);
    		princ.setJMenuBar(bar);
    		lab.setIcon(logo);
    		princ.add(lab,BorderLayout.NORTH);
    		lounch.addActionListener(new SceltaMenu());
    		close.addActionListener(new SceltaMenu());
    		about.addActionListener(new SceltaMenu());
    		lounch.setActionCommand("start");
    		lounch.setFocusPainted(false);
    		princ.add(lounch,BorderLayout.SOUTH);
    		princ.pack();
    		princ.setResizable(true);
    		princ.setLocation(345,272);
    		princ.setVisible(true);
    		princ.addWindowListener(new Controllo());
    	}
    
    	public static void main(String[] args) {
    		new CriptoSolo();
    	}
    		
    	class SceltaMenu implements ActionListener{
    
    		public void actionPerformed(ActionEvent x){	
    			
    			/*
    			 *......
    			 *......
    			 * Altre Opzioni
    			 */
    
    			if(x.getActionCommand()=="start"){
    				princ.setVisible(false);
    				
    				JFileChooser scelta = new JFileChooser();
    				int valore;
    				scelta.setFileFilter(new filtro());
    				scelta.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
    				scelta.setApproveButtonToolTipText(".........");
    				scelta.setApproveButtonText("Codifica/Decodifica");
    				
    				scelta.setDragEnabled(false);
    				scelta.setMultiSelectionEnabled(false);
    				valore = scelta.showOpenDialog(null);
    				File file = scelta.getSelectedFile();
    				
    				//
    				//ALtra parte poco interessante..
    	
    				
    
    
    						//Apre la finestra con la progressBar			
    						
    						JWindow waiter = new JWindow();
    						JProgressBar barretta=new JProgressBar(0,(int)file.length());
    						
    						
    						JLabel text = new JLabel("Encripting...");
    						waiter.setSize(400,70);
    						waiter.setLocation(300,300);
    						
    						waiter.add(text,BorderLayout.NORTH);
    						waiter.add(barretta,BorderLayout.SOUTH);
    						barretta.setValue(0);
    						barretta.setStringPainted(true);
    						
    						waiter.setVisible(true);
    						waiter.validate();
    						...
    						...
    						...
    						...
    						waiter.setVisible(false);
    						
    						...
    						...
    						...
    						...
    				}
    				princ.setVisible(true);
    			}	
    		}
    	}
    	
    	class Controllo implements WindowListener {
    
    		...
    		...
    		...
    		
    	}
    	
    	class filtro extends FileFilter{
    
    		...
    		...
    	}
    }

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    6
    nessuno mi sà trovare un motivo?
    non mi interessa molto di questo programma, era una stupida prova
    per iniziare ad usare le interfacce
    vorrei solo capire perchè fa così..
    ho anche provato a togliere di mezzo il frame principale prima di far partire JFileChooser ma nulla.. (tramite dispose() )

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.