Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    670

    GridBagLayout e JTable!

    Ciao a tutti
    Non riesco a capire dov'è l'errore la JTable invece di essere visualizzata in fondo, viene visualizzata su!

    codice:
    import java.io.*;
    import javax.swing.*;
    import javax.swing.table.*; 
    import java.awt.*;
    import java.awt.event.*;
    
    public class frm_Elenco_Visualizza extends JPanel{
    	
    private frm_Main mainFrame;
    private JDialog myDialog; 
    JPanel p;
    //JTable tabella_Liste;
    
    	public frm_Elenco_Visualizza(frm_Main fm, String TITOLO, boolean MODAL){
    		try{			
          			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    				MyActionListener ac = new MyActionListener();
    				
    				p = new JPanel(new GridBagLayout());
    				GridBagConstraints c = new GridBagConstraints();				
    				   			
    			//Aggiungo la ToolBar
    				c.gridx = 0;
    				c.gridy = 0;
    				c.fill = GridBagConstraints.HORIZONTAL;
    			
    				JToolBar t = new JToolBar(JToolBar.HORIZONTAL);				
    				JButton Bt_Chiudi = new JButton("Chiudi");
    				Bt_Chiudi.addActionListener(ac);
    				t.add(Bt_Chiudi);				
    				JButton Bt_Nuovo = new JButton("Nuovo elenco");
    				Bt_Nuovo.addActionListener(ac);				
    				t.add(Bt_Nuovo);				
    				p.add(t,c);
    
    			//Utente
    				c.gridy = 1;
    				c.fill = GridBagConstraints.NONE;
    				c.gridheight = 1;
    				c.anchor = GridBagConstraints.LINE_START;
    				JLabel Lbl_Utente = new JLabel("Utente:");
    				Lbl_Utente.setFont(new Font("Verdana", Font.PLAIN, 11));
    				p.add(Lbl_Utente,c);
    				
    				c.gridy = 2;
    				c.gridwidth = 3;
    				JTextField Txt_Utente = new JTextField(25);
    				Txt_Utente.setFont(new Font("Verdana", Font.PLAIN, 11));
    				p.add(Txt_Utente,c);
    
    			//Percorso
    				c.gridy = 3;
    				c.gridwidth = 2;				
    				JLabel Lbl_Percorso= new JLabel("Percorso:");
    				Lbl_Percorso.setFont(new Font("Verdana", Font.PLAIN, 11));
    				p.add(Lbl_Percorso,c);
    				
    				c.gridy = 4;
    				c.gridwidth = 3;
    				JTextField Txt_Percorso = new JTextField(40);
    				Txt_Percorso.setFont(new Font("Verdana", Font.PLAIN, 11));
    				p.add(Txt_Percorso,c);
    				
    			//Bottone
    				c.gridy = 4;
    				c.gridx = 3;
    				c.gridwidth = 2;
    				c.gridheight = 1;
    				c.fill = GridBagConstraints.NONE;
    				JButton Bt_Sfoglia = new JButton("Sfoglia");
    				Bt_Sfoglia.setFont(new Font("Verdana", Font.PLAIN, 11));
    				p.add(Bt_Sfoglia,c);					
    				
    			//CheckBox
    				c.gridy = 5;
    				c.gridx = 0;
    				c.gridwidth = 2;
    				c.gridheight = 1;
    				JCheckBox Cb_Web = new JCheckBox("Sito internet");
    				Cb_Web.setFont(new Font("Verdana", Font.PLAIN, 11));
    				p.add(Cb_Web,c);				
    				
    			//Descrizione
    				c.gridy = 6;
    				c.gridwidth = 2;
    				JLabel Lbl_Descrizione = new JLabel("Descrizione:");
    				Lbl_Descrizione.setFont(new Font("Verdana", Font.PLAIN, 11));
    				p.add(Lbl_Descrizione,c);
    				
    				c.gridy = 7;
    				c.gridwidth = 5;
    				c.gridheight = 2;
    				JTextArea Txt_Descrizione = new JTextArea(3,50);
    				Txt_Descrizione.setFont(new Font("Verdana", Font.PLAIN, 11));
    				Txt_Descrizione.setLineWrap(true);
    				JScrollPane pan = new JScrollPane(Txt_Descrizione);
    				p.add(pan,c);		
    			
    			//Aggiungo la tabella			
    				c.gridy = 9;
    				c.gridx = 0;
    				c.gridwidth = 4;
    				c.gridheight = 3;
    				//c.fill = GridBagConstraints.BOTH;
    				//c.anchor = GridBagConstraints.LINE_START;
    				Object[][] righe = caricaRighe();
    				Object[] colonne = caricaColonne();
    				JTable tabella_Liste = new JTable(righe, colonne);
    				//tabella_Liste.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    				tabella_Liste.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    				tabella_Liste.setPreferredScrollableViewportSize(new Dimension(400,200));
    				JScrollPane pt = new JScrollPane(tabella_Liste);				
    				p.add(pt);
    					
    
    /*   				
       				TableColumn column = null;
    					for (int i = 0; i < 2; i++) {
        					column = tbTable0.getColumnModel().getColumn(i);
        						if (i == 0) {
            						column.setPreferredWidth(100); //sport column is bigger
        						} else {
            						column.setPreferredWidth(350);
        						}
    					}
    */
    				this.mainFrame = fm;
    			   	myDialog = new JDialog(fm,TITOLO,MODAL); 
    				myDialog.setContentPane(p);				 				
    				myDialog.pack();	
    				myDialog.setLocationRelativeTo(null);
    				myDialog.setFont(new Font("Verdana", Font.PLAIN, 11));
       				myDialog.setVisible(true);      			
       		}
       		catch (Exception e){}
    	}
    	
    	public Object[][] caricaRighe(){
    		Object[][] righe = {{"utente", "c:prova.txt", "DESCRIZIONE"},
    							 	 {"utente", "c:prova.txt", "DESCRIZIONE"}};
    		return righe;
    	}
    	
    	public Object[] caricaColonne(){
    		Object[] colonne = {"Utente", "Percorso", "Descrizione"};
    		return colonne;
    	}
    	
    	public void visualizza(){
    		frm_Elenco fe = new frm_Elenco(mainFrame,"TITOLO", true);
    	}
    	
    	class MyActionListener implements ActionListener{
    		public void actionPerformed(ActionEvent e){
    			String bottone = e.getActionCommand();
    				if (bottone.equals("CHIUDI")){
    					myDialog.dispose();
    				}	
    				if (bottone.equals("NUOVO ELENCO")){
    					visualizza();
    				}									
    		}
    	} 	
    		
    }
    Guardate che schifo che viene fuori, ho allegato la maschera che viene visualizzata!
    Aiutatemi, non riesco a far vedere questa diavolo di JTable sotto tutto il resto degli oggetti.

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    670
    ah, ho dovuto fare una JDialog perchè doveva essere modale la finestra!!!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.