codice:
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.KeyEvent;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.table.AbstractTableModel;
/**
* @author marialaura
*
*/
public class TabellaJFrame extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JScrollPane jScrollPane = null;
private JTable jTable = null;
private JPanel jPanel2 = null;
private JLabel nomeJL = null;
private JLabel cognomeJL = null;
private JLabel lavoroJL = null;
private JTextField nomeJTF = null;
private JTextField cognomeJTF = null;
private JTextField lavoroJTF = null;
private JButton okJB = null;
class MyTableModel extends AbstractTableModel {
private Vector data = new Vector();
int row;
private String[] columnNames = { "Nome", "Cognome", "Lavoro" };
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return data.size();
}
public String getColumnName(int col) {
return columnNames[col];
}
public Object getValueAt(int row, int col) {
GenericBean gb = new GenericBean();
gb = (GenericBean) data.get(row);
switch (col) {
case 0:
return gb.getNome();
case 1:
return gb.getCognome();
case 2:
return gb.getLavoro();
default:
return "";
}
}
public void setValueAt(Object value, int row, int col) {
GenericBean gb = new GenericBean();
gb = (GenericBean) data.get(row);
switch (col) {
case 0:
gb.setNome((String) value);
break;
case 1:
gb.setCognome((String) value);
break;
case 2:
gb.setLavoro((String) value);
break;
default:
return;
}
fireTableCellUpdated(row, col);
}
public void addRows(GenericBean gb) {
data.add(gb);
fireTableRowsInserted(row, row + 1);
row++;
}
}
private MyTableModel tm = new MyTableModel();
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
try {
jScrollPane = new JScrollPane();
jScrollPane.setBounds(new Rectangle(1, 1, 462, 231));
jScrollPane.setViewportView(getJTable());
} catch (java.lang.Throwable e) {
e.printStackTrace();
}
}
return jScrollPane;
}
/**
* This method initializes jTable
*
* @return javax.swing.JTable
*/
private JTable getJTable() {
if (jTable == null) {
try {
jTable = new JTable(tm);
jTable.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS);
jTable.setCellSelectionEnabled(true);
jTable.setColumnSelectionAllowed(true);
jTable.setEnabled(true);
jTable.setGridColor(Color.black);
jTable.setShowGrid(true);
jTable.setBackground(Color.white);
jTable.setVisible(true);
} catch (java.lang.Throwable e) {
e.printStackTrace();
}
}
return jTable;
}
/**
* This method initializes jPanel2
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel2() {
if (jPanel2 == null) {
try {
lavoroJL = new JLabel();
lavoroJL.setBounds(new Rectangle(325, 10, 120, 25));
lavoroJL.setName("lavoroJL");
lavoroJL.setPreferredSize(new Dimension(120, 25));
lavoroJL.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);
lavoroJL.setText("Lavoro");
lavoroJL.setFont(new Font("Tahoma", Font.BOLD, 14));
cognomeJL = new JLabel();
cognomeJL.setBounds(new Rectangle(150, 10, 160, 25));
cognomeJL.setName("cognomeJL");
cognomeJL.setPreferredSize(new Dimension(160, 25));
cognomeJL.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);
cognomeJL.setText("Cognome");
cognomeJL.setFont(new Font("Tahoma", Font.BOLD, 14));
nomeJL = new JLabel();
nomeJL.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);
nomeJL.setName("nomeJL");
nomeJL.setFont(new Font("Tahoma", Font.BOLD, 14));
nomeJL.setSize(new Dimension(120, 25));
nomeJL.setLocation(new Point(15, 10));
nomeJL.setPreferredSize(new Dimension(120, 25));
nomeJL.setText("Nome");
jPanel2 = new JPanel();
jPanel2.setLayout(null);
jPanel2.setBounds(new Rectangle(1, 232, 462, 125));
jPanel2.setBackground(new Color(255, 255, 227));
jPanel2.add(nomeJL, null);
jPanel2.add(cognomeJL, null);
jPanel2.add(lavoroJL, null);
jPanel2.add(getNomeJTF(), null);
jPanel2.add(getCognomeJTF(), null);
jPanel2.add(getLavoroJTF(), null);
jPanel2.add(getOkJB(), null);
} catch (java.lang.Throwable e) {
e.printStackTrace();
}
}
return jPanel2;
}
/**
* This method initializes nomeJTF
*
* @return javax.swing.JTextField
*/
private JTextField getNomeJTF() {
if (nomeJTF == null) {
try {
nomeJTF = new JTextField();
nomeJTF.setBounds(new Rectangle(15, 45, 120, 25));
nomeJTF.setFont(new Font("Tahoma", Font.BOLD, 13));
nomeJTF.setName("nomeJTF");
nomeJTF.setPreferredSize(new Dimension(120, 25));
nomeJTF.setColumns(100);
} catch (java.lang.Throwable e) {
e.printStackTrace();
}
}
return nomeJTF;
}
/**
* This method initializes cognomeJTF
*
* @return javax.swing.JTextField
*/
private JTextField getCognomeJTF() {
if (cognomeJTF == null) {
try {
cognomeJTF = new JTextField();
cognomeJTF.setBounds(new Rectangle(150, 45, 160, 25));
cognomeJTF.setName("cognomeJTF");
cognomeJTF.setPreferredSize(new Dimension(160, 25));
cognomeJTF.setColumns(100);
cognomeJTF.setFont(new Font("Tahoma", Font.BOLD, 13));
} catch (java.lang.Throwable e) {
e.printStackTrace();
}
}
return cognomeJTF;
}
/**
* This method initializes lavoroJTF
*
* @return javax.swing.JTextField
*/
private JTextField getLavoroJTF() {
if (lavoroJTF == null) {
try {
lavoroJTF = new JTextField();
lavoroJTF.setBounds(new Rectangle(325, 45, 120, 25));
lavoroJTF.setName("lavoroJTF");
lavoroJTF.setPreferredSize(new Dimension(120, 25));
lavoroJTF.setColumns(100);
lavoroJTF.setFont(new Font("Tahoma", Font.BOLD, 13));
} catch (java.lang.Throwable e) {
e.printStackTrace();
}
}
return lavoroJTF;
}
/**
* This method initializes okJB
*
* @return javax.swing.JButton
*/
private JButton getOkJB() {
if (okJB == null) {
try {
okJB = new JButton();
okJB.setHorizontalTextPosition(SwingConstants.CENTER);
okJB.setSize(new Dimension(130, 35));
okJB.setLocation(new Point(165, 80));
okJB.setName("okJB");
okJB.setPreferredSize(new Dimension(130, 35));
okJB.setText("OK");
okJB.setFont(new Font("Tahoma", Font.BOLD, 16));
okJB.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
processOK();
}
});
} catch (java.lang.Throwable e) {
e.printStackTrace();
}
}
return okJB;
}
/**
* @param args
*/
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
TabellaJFrame thisClass = new TabellaJFrame();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
/**
* This is the default constructor
*/
public TabellaJFrame() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setContentPane(getJContentPane());
this.setTitle("Tabella");
this.setResizable(false);
this.setPreferredSize(new Dimension(470, 350));
this.setName("frame");
this.setMinimumSize(new Dimension(470, 350));
this.setMaximumSize(new Dimension(470, 350));
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setBounds(new Rectangle(0, 0, 470, 390));
this.setVisible(true);
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.setName("jpanel");
jContentPane.setBackground(Color.white);
jContentPane.add(getJScrollPane(), null);
jContentPane.add(getJPanel2(), null);
}
return jContentPane;
}
private void processOK() {
GenericBean gb = new GenericBean();
gb.setNome(getNomeJTF().getText());
gb.setCognome(getCognomeJTF().getText());
gb.setLavoro(getLavoroJTF().getText());
tm.addRows(gb);
}
}