RE:ayuda en el manejo de jtable
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.event.*;
import java.util.*;
/**
* @(#)Ej17.java
*
* JFC Sample application
*
* @author
* @version 1.00 05/12/03
*/
public class Ej17Frame extends JFrame {
/**
* The constructor.
*/
public Ej17Frame() {
Object[][] v = {{"Info Systems","New Tech Enterprises","Soft land","Share App Inc"},
{"Database Giant Inc","Web App Asociates","Long Soft","Sound Drivers Inc"},
{"Game Designer","RonaldSoft Inc","HiTech Asoc","Vision Asc"},
};
Object[] n = {"1987","1988","1989","1990"};
JMenuBar menuBar = new JMenuBar();
JMenu menuFile = new JMenu();
JMenuItem menuFileExit = new JMenuItem();
DefaultTableModel tablemodel = new DefaultTableModel(v,n);
JTable table = new JTable(tablemodel);
JScrollPane scrollpane = new JScrollPane(table);
JPanel panel = new JPanel();
JButton button1 = new JButton("Add Column");
JButton button2 = new JButton("Add Row");
table.setColumnSelectionAllowed(true);
table.setRowSelectionAllowed(true);
buttonListener b_listener = new buttonListener(table,tablemodel);
button1.addActionListener(b_listener);
button2.addActionListener(b_listener);
menuFile.setText("File");
menuFileExit.setText("Exit");
// Add action listener.for the menu button
menuFileExit.addActionListener
(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
Ej17Frame.this.windowClosed();
}
}
);
menuFile.add(menuFileExit);
menuBar.add(menuFile);
panel.add(button1);
panel.add(button2);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(scrollpane,BorderLayout.CENTER);
getContentPane().add(panel,BorderLayout.SOUTH);
setTitle("Ej17Frame");
setJMenuBar(menuBar);
setSize(new Dimension(400, 400));
// Add window listener.
this.addWindowListener
(
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
Ej17Frame.this.windowClosed();
}
}
);
}
/**
* Shutdown procedure when run as an application.
*/
protected void windowClosed() {
// TODO: Check if it is safe to close the application
// Exit application.
System.exit(0);
}
}
class buttonListener implements ActionListener {
JTable table;
DefaultTableModel tablemodel;
int n;
buttonListener(JTable t,DefaultTableModel tm) {
table = t;
tablemodel = tm;
n = 0;
}
public void actionPerformed(ActionEvent e) {
if(((JButton)e.getSource()).getText().equals("Add Column")) {
int col = table.getSelectedColumn();
if(col > -1) {
table.addColumn(new TableColumn());
table.moveColumn(table.getColumnCount()-1,col);
n++;
}
}
else {
int row = table.getSelectedRow();
if(row > -1) {
tablemodel.insertRow(row,new Vector());
}
}
}
public static void main(String args[]) {
Ej17Frame frame = new Ej17Frame();
frame.setVisible(true);
}
}