Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883

    Non visualizza dati dentro ad una jtable

    Ciao a tutti
    volevo sapere, come mai quando premo il bottone "Mostra dati"
    i dati non vengono visualizzati dentro la tabella?

    grazie

    codice:
    package jtable;
    
    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.Vector;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.TableModel;
    
    import jtable.CopyOfTableWithMyTableModel.MyTableModel;
    
    public class TableWithMyTableModel extends JFrame implements ActionListener{
    	private static final long serialVersionUID = 7819467000377326603L;
    	MyTableModel dataModel = null;
    	public TableWithMyTableModel() {
    
    		// predispone il vettore
    		Vector v = new Vector();
    
    		
    		// crea il modello di dati
    		// a partire dal vettore
    		dataModel = new MyTableModel(v);
    
    		// crea la tabella
    		final JTable table = new JTable(dataModel);
    
    		// aggiunge la tabella ad uno ScollPane
    		JScrollPane scrollpane = new JScrollPane(table);
    
    		getContentPane().setLayout(new BorderLayout());
    		
    		getContentPane().add(scrollpane, BorderLayout.NORTH);
    		
    		JButton b = new JButton("Mostra dati");
    		b.addActionListener(this);
    		
    		getContentPane().add(b, BorderLayout.SOUTH);
    
    	}
    
    	public static void main(String[] args) {
    		TableWithMyTableModel frame = new TableWithMyTableModel();
    		frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
    		frame.pack();
    		frame.setVisible(true);
    	}
    
    	private class MyBean {
    		private String lastname = null;
    		private String name = null;
    		private int age = 0;
    
    		public MyBean(String lastname, String name, int age) {
    			this.name = name;
    			this.age = age;
    			this.lastname = lastname;
    
    		}
    
    		public String getLastname() {
    			return lastname;
    		}
    
    		public String getName() {
    			return name;
    		}
    
    		public int getAge() {
    			return age;
    		}
    
    		public Object[] getRowData() {
    			Object[] rowData = new Object[3];
    			rowData[0] = lastname;
    			rowData[1] = name;
    			rowData[2] = age;
    			return rowData;
    		}
    
    	}
    
    	class MyTableModel extends DefaultTableModel {
    		Vector v = null;
    		// intestazioni delle colonne
    		String[] ColName = { "Cognome", "Nome", "Età" };
    
    		public MyTableModel(Vector v) {
    			this.v = v; // inizializzato con il vettore
    		}
    
    		// il numero di colonne
    		public int getColumnCount() {
    			return ColName.length;
    		}
    
    		// numero righe = dimensione del vettore
    		public int getRowCount() {
    			int size = (v!=null)?v.size():0;
    			return size;
    		}
    
    		// ritorna il contenuto di una riga
    		public MyBean getMyBeanAtSelectedRow(int row) {
    			// seleziona il libro
    			MyBean b = (MyBean) v.elementAt(row);
    
    			return b;
    		}
    
    		// ritorna il contenuto di una cella
    		public Object getValueAt(int row, int col) {
    			// seleziona il libro
    			MyBean b = (MyBean) v.elementAt(row);
    			String val = null;
    			// la stringa corrispondente alla colonna
    			switch (col) {
    			case 0:
    				val = b.lastname;
    				break;
    			case 1:
    				val = b.name;
    				break;
    			case 2:
    				val = Integer.toString(b.age);
    				break;
    			default:
    				val = "";
    			}
    			return val;
    		}
    
    		// ritorna il nome della colonna
    		public String getColumnName(int col) {
    			return ColName[col];
    		}
    
    		// specifica se le celle sono editabili
    		public boolean isCellEditable(int row, int col) {
    			// nessuna cella editabile
    			return false;
    		}
    		
    		void add(MyBean myBean) {
    			v.add(myBean);
    		}
    
    	}
    
    	public void actionPerformed(ActionEvent e) {
    		MyBean myBean1 = new MyBean("Illo1", "Andrea1", 30);
    		MyBean myBean2 = new MyBean("Illo2", "Andrea2", 30);
    		MyBean myBean3 = new MyBean("Illo3", "Andrea3", 30);
    		MyBean myBean4 = new MyBean("Illo3", "Andrea3", 30);
    		MyBean myBean5 = new MyBean("Illo3", "Andrea3", 30);
    		MyBean myBean6 = new MyBean("Illo3", "Andrea3", 30);
    		MyBean myBean7 = new MyBean("Illo3", "Andrea3", 30);
    		MyBean myBean8 = new MyBean("Illo3", "Andrea3", 30);
    
    		dataModel.add(myBean1);
    		dataModel.add(myBean2);
    		dataModel.add(myBean3);
    		dataModel.add(myBean4);
    		dataModel.add(myBean5);
    		dataModel.add(myBean6);
    		dataModel.add(myBean7);
    		dataModel.add(myBean8);
    
    		repaint();
    		validate();
    		
    		System.out.println("dati visualizzati");
    	}
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    qualche idea?

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