Purtroppo non mi fuziona così.
Ti posto il codice :
Codice PHP:
package GUI;
import EventHandler.MyMenuHandler;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import java.awt.GridLayout;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
public class Assistant extends JPanel {
private static JFrame frame;
private static Assistant instance = null; // E' il componente JPanel
private JScrollPane scrollPane;
private JTable table;
private DefaultTableModel tableModel;
// <editor-fold defaultstate="collapsed" desc="Costruttore : private Assistant()">
private Assistant() {
super(new GridLayout(1, 0));
tableModel = new MyTableModel();
table = new JTable();
table.setModel(tableModel);
// Applico l'editor e il render personalizzati
table.getColumn("Modifica").setCellRenderer(new PanelRender());
table.getColumn("Modifica").setCellEditor(new PanelEditor());
table.getColumn("Cancella").setCellRenderer(new PanelRender());
table.getColumn("Cancella").setCellEditor(new PanelEditor());
table.setRowHeight(40); // Metto un altezza che mi consente di vedere tutto il bottone
// Creo il pannello a scorrimento e ci inserisco la JTable
scrollPane = new JScrollPane(table);
add(scrollPane);
}// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="Method : void createAndShowGUI()">
private static void createAndShowGUI() {
// Creazione della finestra e settaggio opzioni.
frame = new JFrame("Assistant");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// <editor-fold defaultstate="collapsed" desc="Creazione del Menu e eventi sui pulsanti">
JMenuBar menuBar = new JMenuBar();
frame.setJMenuBar(menuBar);
// Creazione dei menu a discesa
JMenu fileMenu = new JMenu("File");
JMenu optionMenu = new JMenu("Appuntamento");
JMenu strumentiMenu = new JMenu("Strumenti");
menuBar.add(fileMenu);
menuBar.add(optionMenu);
menuBar.add(strumentiMenu);
// Creazione delle voci del menu a discesa File
JMenuItem exitAction = new JMenuItem("Esci");
fileMenu.add(exitAction);
// Creazione delle voci del menu a discesa Option
JMenuItem addAction = new JMenuItem("Aggiungi");
JMenuItem modAction = new JMenuItem("Modifica");
optionMenu.add(addAction);
optionMenu.add(modAction);
// Creazione delle voci del menu a discesa Strumenti
JMenuItem cercaDataAction = new JMenuItem("Cerca per data");
JMenuItem cercaNomeAction = new JMenuItem("Cerca per nome");
strumentiMenu.add(cercaDataAction);
strumentiMenu.add(cercaNomeAction);
// Gestione degli eventi sulle voci del menu
exitAction.addActionListener(new MyMenuHandler());
addAction.addActionListener(new MyMenuHandler());
modAction.addActionListener(new MyMenuHandler());
cercaDataAction.addActionListener(new MyMenuHandler());
cercaNomeAction.addActionListener(new MyMenuHandler());
// </editor-fold>
Assistant newContentPane = new Assistant();
newContentPane.setOpaque(true);
frame.setContentPane(newContentPane); // Aggiungo il pannello al JFrame
// Visualizzo JFrame con il componente JPane
frame.pack();
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setVisible(true);
}// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="Method : JFrame getJFrame()">
public JFrame getJFrame() {
return Assistant.frame;
}// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="Method : Assistant getInstance()">
public synchronized static Assistant getInstance() {
if (instance == null) {
instance = new Assistant();
}
return instance;
}// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="Method : JScrollPane getJScrollPane()">
public JScrollPane getJScrollPane() {
return this.scrollPane;
}// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="Method : JTable getJTable()">
public JTable getJTable() {
return this.table;
}// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="Method : TableModel getJTableModel()">
public TableModel getJTableModel() {
return this.tableModel;
}// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="Main()">
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}// </editor-fold>
}
Codice PHP:
package GUI;
import javax.swing.JFrame;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.DefaultTableModel;
import support.DataAccess;
public class MyTableModel extends DefaultTableModel implements TableModelListener {
private DataAccess da = DataAccess.getInstance();
public MyTableModel(){
Object[] tableHeaders = da.getTableHeaders();
Object[][] tableData = da.getDataTable(da.getListAppuntamenti());
setDataVector(tableData, tableHeaders);
addTableModelListener(this);
}
public void tableChanged(TableModelEvent e) {
System.out.println("Riga rimossa");
// Ma il realtà sul video la tabella è invariata
}
}