Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631

    problema con l'extends

    ciao ragazzi
    ho un problema con l'extends, cioè ho creato una classe cherappresenta un frame che dovrà essere richiamato sempre da tutte le altre classi,
    quando uso l'extends nelle altre classi mi genera questo frame più volte e non so chiudere quelle precedenti
    come si fa a risolvere questo problema??


    grazie
    quando il diavolo ti accarezza è perchè vuole la tua anima

  2. #2
    E' un po strana la descrizione, cose intendi con richiamarlo ...?
    Perchè se poi crei classi che lo estendono ovviamente ogni classe ti mostra un nuovo frame...

    magari prova a spiegare meglio cosa dovresti fare...


    Leonardo -

    Se vuoi vedere il sito ufficiale del paese di Barrali vai su www.barrali.net
    Guarda il video di Satch Boogie

  3. #3
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631
    in pratica io devo solo usare un frame principale su cui visualizzare data effettuare cambiamneti
    solo che quando faccio, per esempio, due operazioni diverse mi escono, naturalmente, due frame su cui su una cè un'operazione e sull'altra..l'altra operazione...cosa devo fare?
    quando il diavolo ti accarezza è perchè vuole la tua anima

  4. #4
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631
    allora io ho una classe in cui creo un frame principale, come segue:

    codice:
    B_HOME(){
        
    JButton d_estr = new JButton("Gestione SCRIPT");
    salva.setEnabled(false);
    modifica.setEnabled(false);
    cancella.setEnabled(false);
    stampa.setEnabled(false);
    selezionaTutti.setEnabled(false);
    JComboBox combo = new JComboBox();
           
    	
    final JButton estrai =new JButton("estrai");
            JPanel p1 = new JPanel(new GridBagLayout());
            JPanel p2 = new JPanel(new GridBagLayout());
            JPanel p3 = new JPanel(new GridBagLayout());
            setTitle("ScriptManager");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            Dimension d = getToolkit().getScreenSize();
            setSize(d);
            
           //i=i.getScaledInstance(NEW_W,NEW_H,Image.SCALE_DEFAULT);
            //Image i=Toolkit.getDefaultToolkit().createImage("C:/Documents and Settings/G.Costanz0/Desktop/Logo_.gif");
          
            
            //icon = new ImageIcon(i);
           // Icon icon = new ImageIcon(i);
            l.setIcon(icon);
            getContentPane().add(p);
            GridBagConstraints c = new GridBagConstraints();
            c.gridx=0;
            c.gridy =0;
            c.gridwidth =3;
            c.fill = GridBagConstraints.LINE_START;
            p.add(l,c);
            p.addComponentListener(new ComponentListener(){
               
    			public void componentResized(ComponentEvent arg0) {
    				new_w=l.getWidth();
    				new_h=l.getHeight();
    				i=i.getScaledInstance(new_w,new_h,Image.SCALE_DEFAULT);
    				icon = new ImageIcon(i);
    				l.setIcon(icon);
    				
    			}public void componentMoved(ComponentEvent arg0) {}
    			public void componentShown(ComponentEvent arg0) {}
    			public void componentHidden(ComponentEvent arg0) {}
    		});
            
            
            
            
            c = new GridBagConstraints();
            c.gridx=0;
            c.gridy=1;//c.weighty=2.0;
            c.fill =GridBagConstraints.BOTH;
            p.add(p1,c); 
             c = new GridBagConstraints();
            c.gridx=0;
            c.gridy =2;c.weighty =1.0;
            c.fill =GridBagConstraints.BOTH;
            p.add(p2,c);
            c = new GridBagConstraints();
            c.gridx=0;
            c.gridy =3;c.weighty =1.0;
            c.fill =GridBagConstraints.BOTH;
            p.add(p3,c);
            c = new GridBagConstraints();
            c.gridx=1;
            c.gridy=1;
            c.weightx=3.5; 
            c.fill =GridBagConstraints.BOTH;
            p.add(p_job,c);
            c = new GridBagConstraints();
            c.gridx=1;
            c.gridy =2; c.gridheight =2;c.gridwidth =2;
            c.weighty=5.0;
            c.fill =GridBagConstraints.BOTH;
            p.add(p_job2,c);
            c = new GridBagConstraints();
            c.gridx=2;
            c.gridy =1;
            c.weighty=1.5;
            c.weightx=1; 
            c.fill =GridBagConstraints.BOTH;
            p.add(p_job3,c);
            c = new GridBagConstraints();
            c.gridx=0;
            c.gridy =4; c.gridwidth =3; 
            c.fill =GridBagConstraints.HORIZONTAL;
            p.add(p_job4,c); 
           /* c = new GridBagConstraints(); 
            c.gridx = 0;
            c.gridy = 0;
            c.weightx = 1.0; //c.weighty = 0.5;
            c.gridwidth=2;
            c.fill = GridBagConstraints.HORIZONTAL;*/
            p_job3.add(combo,BorderLayout.NORTH);
            combo.setEnabled(false);
           /* c = new GridBagConstraints();
            c.gridx = 1;
            c.gridy = 1;
            c.weightx =1.0;
            c.weighty =1.0;   */    
            p_job3.add(estrai,BorderLayout.CENTER);
            estrai.setEnabled(false);
            c = new GridBagConstraints();
            p1.add(estr,c);
            p1.setBorder(BorderFactory.createTitledBorder("Inserimento script"));//intitola il pannello
            JButton d_search = new JButton("Gestione PAGINA");
            c = new GridBagConstraints();
            c.gridy = 0;
            c.weightx =1.0;
            c.weighty =2.0; 
            c.fill=GridBagConstraints.HORIZONTAL;
            p2.add(d_estr,c);
            c = new GridBagConstraints();
            c.gridy = 1;
            c.weightx =1.0;
            c.weighty =2.0; 
            c.fill=GridBagConstraints.HORIZONTAL;
            p2.add(d_search,c);
            p2.setBorder(BorderFactory.createTitledBorder("Gestione"));
            JButton e_clear = new JButton("Pulizia");
            JButton e_clearAll = new JButton("Gestione PULIZIA");
            d_search.addActionListener(new ActionListener()
          {
              public void actionPerformed(ActionEvent a) 
              { 
                 
                  
              }
            }                             );
            e_clear.addActionListener(new ActionListener() 
            {
            public void actionPerformed(ActionEvent a)
                    {
             
                    }
            }                          );
            e_clearAll.setBounds(10, 70, 150, 40);
            e_clearAll.addActionListener(new ActionListener() 
            {
            public void actionPerformed(ActionEvent a)
                    {
                 
                    }
            }                          );
            c = new GridBagConstraints();
            c.gridy = 0;
            c.weightx =1.0;
            c.weighty =2.0; 
            c.fill=GridBagConstraints.HORIZONTAL;
            p3.add(e_clear,c);
            c = new GridBagConstraints();
            c.gridy = 1;
            c.weightx =1.0;
            c.weighty =2.0; 
            c.fill=GridBagConstraints.HORIZONTAL;
            p3.add(e_clearAll,c);
            p3.setBorder(BorderFactory.createTitledBorder("Pulizia"));
             p_job4.add(salva);
            p_job4.add(modifica);
            p_job4.add(cancella);
            p_job4.add(stampa);
            p_job4.add(selezionaTutti);
            p_job.setBorder(BorderFactory.createTitledBorder("informazioni estrazione"));
            p_job2.setBorder(BorderFactory.createTitledBorder("script"));
            p_job3.setBorder(BorderFactory.createTitledBorder("tasti di lavoro"));
            p_job4.setBorder(BorderFactory.createTitledBorder("informazioni"));
            estr.addActionListener(this); 
            estr.setEnabled(true);
           
    d_estr.addActionListener(new ActionListener()
          {
              public void actionPerformed(ActionEvent a)      
              {   
               
              }
            }                            );
    estr.addActionListener(new ActionListener()
    	      {
    	          public void actionPerformed(ActionEvent a)      
    	          {   
    	        	FontController fc = new FontController();  
    	            //Mainframe.dispose();
    	            fc.estrazione();
    	          }
    	        }                            );
            setVisible(true);    
            //p_job3.setVisible(true);        
     }      
    
     public static void main(String[] args)
     {
    	 B_HOME b = new B_HOME();
    	 
     }
    dove nel costruttore main avvio il programma
    quando il diavolo ti accarezza è perchè vuole la tua anima

  5. #5
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631
    successivamente viene richiamato questa classe per visualizzare i valori usando il B_HOME principale senza usare l'extends, altrimenti mi fa un'altra copia del frame principale
    codice:
    
            public B_HOME s;
    	public  void tutto(B_HOME s)
    	{this.s=s;} 
    
    
    public void visualizzaEstrazione(Record[] rr, int l, double ris, int attivaTasti,int SingolaPagOCartella)
    	{ 
    		System.out.println("B_Visualizza: l= "+l+"\n"+"ris= "+ris+"\n"+"ris2= "+attivaTasti);
    		final String[] codicePagina= new String[l];
    		final String[] codiceScript= new String[l];
    		int c = new Double(ris).intValue(); //mi serve per vedere se devo stampare la tabella con o senza flag
    	     int i=0;                               //1.0 senza flag, 1.1 con flag 
    //	0 pagina, 1 script
    	    if (c==1)
    	    {
    	    		
    		final Record[] r = new Record[l];	
    		s.p_job2.removeAll();
           while (i != l)
              { 
            r[i] = new Record(); 
            //r[i].setSelezionato(false); //seleziona il flag
            r[i].setNome(rr[i].getNome()); //seleziona il nome del file
            r[i].setTipo(rr[i].getTipo()); //seleziona il nome della pagina web
            r[i].setScopo(rr[i].getScopo());//seleziona la directory in cui si trova il file
            r[i].setData(rr[i].getData());//visualizza la data di estrazione
            r[i].setProve(rr[i].getProve());
            r[i].setClsv(rr[i].getClsv());
            r[i].setFreq(rr[i].getFreq());
            r[i].setCodice(rr[i].getCodice());  //visualizza il codice
            r[i].setIndirizzo(rr[i].getIndirizzo());
            codiceScript[i] =rr[i].getCodice();  //mi serve per visualizzare gli script a video               
            i++; 
              }  
           Object[][] data2 = new Object[r.length][];
           
    		if (ris==1.0){//1.0 con flag		         
    		           for ( i = 0; i < r.length; i++)
    		        {
    		            data2[i] = r[i].getObjects_script();
    		        }       
    		         
    		         
    		         final MyTableModel my = new MyTableModel();
    		         my.MyTable_script(data2);
    		         s.salva.setEnabled(true);//attiva il tasto
    		         s.modifica.setEnabled(true);  
    		         s.cancella.setEnabled(true);         
    		         switch (attivaTasti)
    		         {
    		             case 1: {s.salva.setEnabled(false);
    		             s.cancella.setEnabled(true);} break;
    		             case 2: {s.cancella.setEnabled(false);}break;
    		             case 3: {s.salva.setEnabled(true);
    		             s.cancella.setEnabled(true);}break;
    		         }
    		         final JTable tab = new JTable(my);
    		         
    		         s.p_job2.add(tab);
    		         JScrollPane scroll = new JScrollPane(tab);		       
    		         s.p_job2.add(scroll);		         
    		         s.p_job2.validate();
    la parte in rossa in teoria mi dovrebbe aggiornare il B_HOME principale
    invece così come ho fatto mi visualizza, sì una volta il B_HOME, ma senza riempirmi nulla...
    perchè?


    quando il diavolo ti accarezza è perchè vuole la tua anima

  6. #6
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631
    ma esiste un modo per richiamare una classe che rappresenta un frame principale, che si possa richiamare con delle istanze e che nn apra mille frame????
    quando il diavolo ti accarezza è perchè vuole la tua anima

  7. #7
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631
    B_HOME è un frame con dei componenti già inseriti di default dentro...
    ti mando il codice:
    codice:
    class B_HOME extends JFrame implements ActionListener
            
    {
    
    	private static final long serialVersionUID = 1L;
    private JPanel p = new JPanel(new GridBagLayout());
    public JPanel p_job = new JPanel(new GridLayout());
    public JPanel p_job2 = new JPanel(new GridLayout());
    public JPanel p_job3 = new JPanel(new BorderLayout());
    public JPanel p_job4 = new JPanel(new GridBagLayout());
    public JRadioButton radio1 = new JRadioButton("singola pagina");
    public JRadioButton radio2 = new JRadioButton("tutta la cartella");
    //public  ButtonGroup group = new ButtonGroup();
    public  JButton first = new JButton("avanti"); 
    public JButton estr = new JButton("estrazione SCRIPT");
    //public  JButton back = new JButton("indietro");
    private JFrame Mainframe = new JFrame();
    private JLabel l = new JLabel();//label x il logo
    public JLabel total = new JLabel();
    public static int ris; //serve x indicare se l'utente ha scelto un singolo file o una directory - choose()
    public int t; //contatore record  - choose()
    public String nome;
    
    public File[] listaFile;
    //public File file;
    
     B_HOME(){
             setTitle("ScriptManager");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            Dimension d = getToolkit().getScreenSize();
            l.setIcon(icon);
            getContentPane().add(p);
            GridBagConstraints c = new GridBagConstraints();
            c.gridx=0;
            c.gridy =0;
            c.gridwidth =3;
            c.fill = GridBagConstraints.LINE_START;
            p.add(l,c);
                  c = new GridBagConstraints();
            c.gridx=0;
            c.gridy=1;//c.weighty=2.0;
            c.fill =GridBagConstraints.BOTH;
            p.add(p1,c); 
             c = new GridBagConstraints();
            c.gridx=0;
            c.gridy =2;c.weighty =1.0;
            c.fill =GridBagConstraints.BOTH;
            p.add(p2,c);
            c = new GridBagConstraints();
            c.gridx=0;
            c.gridy =3;c.weighty =1.0;
            c.fill =GridBagConstraints.BOTH;
            p.add(p3,c);
            c = new GridBagConstraints();
            c.gridx=1;
            c.gridy=1;
            c.weightx=3.5; 
            c.fill =GridBagConstraints.BOTH;
            p.add(p_job,c);
            c = new GridBagConstraints();
            c.gridx=1;
            c.gridy =2; c.gridheight =2;c.gridwidth =2;
            c.weighty=5.0;
            c.fill =GridBagConstraints.BOTH;
            p.add(p_job2,c);
            c = new GridBagConstraints();
            c.gridx=2;
            c.gridy =1;
            c.weighty=1.5;
            c.weightx=1; 
            c.fill =GridBagConstraints.BOTH;
            p.add(p_job3,c);
            c = new GridBagConstraints();
            c.gridx=0;
            c.gridy =4; c.gridwidth =3; 
            c.fill =GridBagConstraints.HORIZONTAL;
            p.add(p_job4,c); 
            c.gridx = 0;
            c.gridy = 0;
            c.weightx = 1.0; //c.weighty = 0.5;
            c.gridwidth=2;
            c.fill = GridBagConstraints.HORIZONTAL;*/
            p_job3.add(combo,BorderLayout.NORTH);
            c.gridx = 1;
            c.gridy = 1;
            c.weightx =1.0;
            c.weighty =1.0;   */    
            p_job3.add(estrai,BorderLayout.CENTER);
            estrai.setEnabled(false);
            c = new GridBagConstraints();
            p1.add(estr,c);
            c = new GridBagConstraints();
            c.gridy = 0;
            c.weightx =1.0;
            c.weighty =2.0; 
            c.fill=GridBagConstraints.HORIZONTAL;
            p2.add(d_estr,c);
            c = new GridBagConstraints();
            c.gridy = 1;
            c.weightx =1.0;
            c.weighty =2.0; 
            c.fill=GridBagConstraints.HORIZONTAL;
            p2.add(d_search,c);
            p2.setBorder(BorderFactory.createTitledBorder("Gestione"));
            c = new GridBagConstraints();
            c.gridy = 1;
            c.weightx =1.0;
            c.weighty =2.0; 
            c.fill=GridBagConstraints.HORIZONTAL;
            p3.add(e_clearAll,c);
            p3.setBorder(BorderFactory.createTitledBorder("Pulizia"));
            public static void main(String[] args)
     {
    	 B_HOME b = new B_HOME();
    	 
     }
    solo che, x esempio, io ho in B_HOME un pannello P_Job(vedi sopra) e dentro dovrò riempirlo con un JTable, quindi dovrò chiamare l'istanza B_HOME...ma se faccio così mi crea un altro B_HOME...nn so se rendo l'idea...
    quando il diavolo ti accarezza è perchè vuole la tua anima

  8. #8
    Allora se hai un pannello (in generale), e devi riempirlo con dei dati , ad esempio nel tuo caso un JTable, devi vedere il costruttore di JTable che + risponde alle tue esigenze (dati), e quindi devi creare una classe che restituisca i dati per popolare una JTable . Non ho capito da dove prendi i dati ma ad esempio se vuoi utilizzare dei vettori devi costruirti una classe che restituisca poi dei vettori da passare al costruttore ...

    Non ho capito cosa fai per ottenere tutti questi frame ...
    Leonardo -

    Se vuoi vedere il sito ufficiale del paese di Barrali vai su www.barrali.net
    Guarda il video di Satch Boogie

  9. #9
    onestamente nn ho capito molto di primo acchitto

    scusa tu crea una classe che estende JFrame, dentro questa classe poni un metodo che crea i pannelli da utilizzare come contenitori intermedi, dentro ogni contenitore metti gli elementi che ti servono, poi inizializzi tutto dal main

  10. #10
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631
    esattto!!!!
    quando il diavolo ti accarezza è perchè vuole la tua anima

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.