Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631

    non visualizza le modifiche ad un frame

    ciao ragazzi,
    io creo un frame principale e questo è il codice:

    codice:
    Main_Panel(){ 
    JButton d_ins = new JButton("Inserimento SCRIPT");
            JPanel p1 = new JPanel();
            JPanel p2 = new JPanel();
            JPanel p3 = new JPanel();
            
            setTitle("ScriptManager");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            Dimension d = getToolkit().getScreenSize();
            setSize(d);
            Icon icon = new ImageIcon("C:/Documents and Settings/G.Costanz0/Desktop/Logo_.gif");
            getContentPane().add(p);
            getContentPane().add(l,BorderLayout.NORTH);
            
            FlowLayout fl = new FlowLayout();
            GridLayout gd = new GridLayout();
            GridBagLayout gr = new GridBagLayout();
           
            Container get = getContentPane();
            l.setIcon(icon);
            p.add(p1);
            p.add(p2);
            p.add(p3);
            p.add(p_job);
            
            //p.add(p_job2);
            p.setLayout(null);// se annulli il layout, l'unico modo per visualizzare gli oggetti interni è usare setBounds'
            //SEZIONE INSERIMENTO SCRIPT
            
            //JButton b2 = new JButton("estrazione diretta");
            p1.setLayout( null ); //annulla il layout del panel p1
            p1.setBounds(10, 10, 320, 150);
            estr.setBounds(10, 18, 150, 40); //setta la posizione e la dimensione del tasto
            //b2.setBounds(10, 70, 150, 40);
            p1.add(estr);
            //1.add( b2 );
            p1.setBorder(BorderFactory.createTitledBorder("Inserimento SCRIPT"));//intitola il pannello
            //SEZIONE DESTIONE DATABASE
            JButton d_search = new JButton("Ricerca");
            JButton d_mod = new JButton("Modifica");
            JButton d_canc = new JButton("Cancella");
            JButton d_print = new JButton("Stampa");
            p2.setLayout( null ); //annulla il layout del panel p1
            p2.setBounds(10, 160, 320, 170);
            d_ins.setBounds(10, 18, 150, 40); //setta la posizione e la dimensione del tasto
            d_search.setBounds(10, 70, 150, 40);
            d_mod.setBounds(10, 122, 150, 40);
            d_canc.setBounds(160, 18, 150, 40);
            d_print.setBounds(160, 70, 150, 40);
            p2.add(d_ins);p2.add(d_search);p2.add(d_mod);p2.add(d_canc);p2.add(d_print);
            p2.setBorder(BorderFactory.createTitledBorder("Gestione DataBase"));
           
            
           // applet ap = new applet();
            
           
            //SEZIONE PULIZIA
            JButton e_clear = new JButton("avvia");
            p3.setLayout( null ); //annulla il layout del panel p1
            p3.setBounds(10, 330, 320, 170);//settaggio pannello p2
            e_clear.setBounds(10, 18, 150, 40);
            p3.add(e_clear);
            p3.setBorder(BorderFactory.createTitledBorder("Pulizia"));
            //ImageIcon icon = new ImageIcon( img.getScaledInstance(750, 185, Image.SCALE_DEFAULT));
            
            
            //SEZIONE FOGLIO DI LAVORO
           // p_job.setLayout( null ); //annulla il layout del panel p1
           
            p_job.setBounds(330, 10, 930, 490);//settaggio pannello p2
           // p_job2.setBounds(870, 10, 400, 490);
            e_clear.setBounds(10, 18, 150, 40);
            p_job.setBorder(BorderFactory.createTitledBorder("informazioni estrazione"));
            //p_job2.setBorder(BorderFactory.createTitledBorder("codice"));
            //p_job.add(p_job);
            //p_job.add(total);
            
           //scheda();
            
           /* int x, y;
            x= 0; //colonne
            y=1;  //righe
            int i = tabella.length;//righe
            while(i!=0 ){ y++;
                int j = tabella[0].length; 
                while (j!= 0){
                      JTextField label2 = new JTextField();
                     
                      label2.setSize(100,100);
                      label2.setText("3,1");
                      p_job.add(label2);
                      
                      j--;     
                             }
            p_job.setLayout(new GridLayout(y,0));
            i--; 
            } */
            
         
            
            
            
    /*        JScrollPane scroll = new JScrollPane(text);
           p_job.add(scroll);
            text.setLocation(20, 10);*/
            //FILECHOOSER
            estr.setMnemonic(KeyEvent.VK_E);
            estr.setActionCommand("estr");
            estr.addActionListener(this); 
            estr.setEnabled(true);
            //text.add(new applet());
            //estr.setMnemonic(KeyEvent.VK_D);
            //associa al tasto b un nome virtuale
            //che servirà per distinguersi dagli altri bottoni all'evrnto click'
           
            d_ins.setMnemonic(KeyEvent.VK_D);
            d_ins.setActionCommand("enable");//setto il nome virtuale al bottone d_ins
            d_ins.setMnemonic(KeyEvent.VK_D);
            d_ins.setActionCommand("disable");
            //b2.addActionListener(this);
             
            d_ins.addActionListener(this); 
            setVisible(true);    
     }      
    
    public static void main(String[] args) {
          Main_Panel mp = new Main_Panel();
       }


    poi in pratica chiamo un'altra classe che in base a certe cose mi deve fare visualizzare delle tabelle nel frame principale, queste cose avvengono se nn fossere che visualizza solo che ho ingrandito il mio frame pricipale...
    per favore aiutatemi


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

  2. #2
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631
    ragazzi aiutatemi
    se devo visualizzare due tabelle chiamando il metodo web() che a sua volta chiama scheda() lo fa: mettendo su uno stesso JPanel due tabelle

    codice:
    public void web()
        {  GridBagConstraints c = new GridBagConstraints();
           
           if (ris==0){
                c.gridx=0;
            c.gridy=1;}
            else {c.gridx=1;
            c.gridy=2;}
            c.weightx = 0.2;
            c.weighty = 0.2;
            c.fill = GridBagConstraints.BOTH;
            
            //Hashtable tabella = new Hashtable();
            Object [][] tabella = new Object[5][9];
           // HashMap tabella = new HashMap();
            String[] nome ={"nome", "indirizzo", "path", "dimensione","directory", "contenuto"};
            JTable tab = new JTable (tabella, nome);
            
            //tab.setPreferredSize(new Dimension(10,100));
            tabella[1][2]= "5";
           
             
            //tab.setBounds(10,10, 10,10 );
             p_job.add(tab,c);
           // tab.setRowSelectionInterval(10,10);
            JScrollPane scroll = new JScrollPane(tab);
            //scroll.setPreferredSize(new Dimension(1000,1000));
             
            p_job.add(scroll,c);
            scheda();
                }
    
    
    public void scheda()
         {  GridBagConstraints c = new GridBagConstraints();
          if (ris==0){
            c.gridx=0;
           c.gridy=2; }
           else {c.gridx=1;
           c.gridy=3; }
            c.weightx = 1.0;
            c.weighty = 1.0;
            c.fill = GridBagConstraints.BOTH;
            //Hashtable tabella = new Hashtable();
            Object [][] tabella = new Object[150][8];
           // HashMap tabella = new HashMap();
            String[] nome ={"nome", "tipo", "scopo", "data estrazione","provenienza", "client/server", "frequenza utilizzo", "codice"};
            JTable tabb = new JTable (tabella, nome);
            //tabb.setPreferredSize(new Dimension(10,500));
            tabella[1][2]= "5";
            p_job.add(tabb,c);
           // tab.setRowSelcectionInterval(10,10);
            JScrollPane scroll = new JScrollPane(tabb);
            p_job.add(scroll,c);
            this.validate();
            
         
        }

    però se chiamo il metodo dirr() che mi rappresenta una terza tabella da mettere sullo stesso JPanel p_job nn mi visualizza nulla
    codice:
    public void dirr() 
    { 
        try     {GridBagConstraints cc = new GridBagConstraints();
        cc.gridx=0;
            cc.gridy=0;
            cc.weightx = 1.0;
            cc.weighty = 1.0;
           // c.fill = GridBagConstraints.VERTICAL;
            //c.fill = GridBagConstraints.FIRST_LINE_END;
            
            //Hashtable tabella = new Hashtable();
            Object [][] tabella = new Object[0][4];
           // HashMap tabella = new HashMap();
            String[] nome ={"nome", "path", "dimensione","data creazione"};
            JTable tabb0 = new JTable(tabella, nome);
            
            //tab.setPreferredSize(new Dimension(10,100));
            tabella[0][2]= "5";
            p_job.add(tabb0,c);
        //  this.validate();
            
            //tab.setBounds(10,10, 10,10 );
             
           // tab.setRowSelectionInterval(10,10);
            JScrollPane scroll = new JScrollPane(tabb0);
             p_job.add(scroll,c);
            web();
        }
         catch (Exception e){}
    }

    perchè non mi visualizza nulla?


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

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Forse perchè hai tolto il validate() ?


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Utente di HTML.it L'avatar di gax80
    Registrato dal
    May 2006
    Messaggi
    631
    no ho risolto in pratica c'era l'istruzione

    tabella[0][2] = "5"

    che mi faceva andare il codice in catch, ora funziona con il validate

    grazie mille

    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.