谁能帮我看看为什么我点了new button后没有增加行呢? 代码如下package window;import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.FileDialog;
import java.awt.Frame;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Vector;
import javax.swing.JButton;import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableColumn;public class Main
{ class TableTableModel extends AbstractTableModel
{ private Vector content = null; public TableTableModel()
{
content = new Vector();
} public TableTableModel(int count)
{
content = new Vector(count);
} public void addRow(String ID, String CampaignName, String FileName,
String FileSize, String StartDate, String EndDate,
String StartTime, String EndTime)
{
Vector v = new Vector(8);
v.add(0, ID);
v.add(1, CampaignName);
v.add(2, FileName);
v.add(3, FileSize);
v.add(4, StartDate);
v.add(5, EndDate);
v.add(6, StartTime);
v.add(7, EndTime); content.add(v);
} public void removeRow(int row)
{
content.remove(row);
} public void removeRows(int row, int count)
{
for (int i = 0; i < count; i++)
{
if (content.size() > row)
{
content.remove(row);
}
}
} public final String[] COLUMN_NAMES = new String[]
{ "ID", "Campaign Name", "File Name", "File Size", "Start Date",
"End Date", "Start Time", "End Time" }; public int getRowCount()
{
return 0;
} public int getColumnCount()
{
return COLUMN_NAMES.length;
} public String getColumnName(int columnIndex)
{
return COLUMN_NAMES[columnIndex];
} public Object getValueAt(int rowIndex, int columnIndex)
{ return ((Vector) content.get(rowIndex)).get(columnIndex);
}
} private JFrame frame; private JTable table = null; private TableTableModel model = null; /**
 * Launch the application
 * 
 * @param args
 */
public static void main(String args[])
{
try
{
Main window = new Main();
window.frame.setVisible(true);
} catch (Exception e)
{
e.printStackTrace();
}
} /**
 * Create the application
 */
public Main()
{
initialize();
} /**
 * Initialize the contents of the frame
 */
private void initialize()
{
frame = new JFrame();
frame.getContentPane().setLayout(null);
frame.setBounds(100, 100, 800, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JPanel panel = new JPanel();
panel.setLayout(null);
panel.setBounds(0, 0, 800, 1);
frame.getContentPane().add(panel); final JPanel panel_1 = new JPanel();
panel_1.setLayout(null);
panel_1.setBounds(0, 0, 800, 220);
frame.getContentPane().add(panel_1); final JScrollPane scrollPane = new JScrollPane(); scrollPane.setBounds(0, 0, 800, 220);
panel_1.add(scrollPane); model = new TableTableModel(20);
table = new JTable(model);
table.setBackground(Color.white);
scrollPane.setViewportView(table); final JMenuBar menuBar = new JMenuBar();
menuBar.setMargin(new Insets(0, 0, 800, 50));
menuBar.setBounds(100, 100, 800, 50);
frame.setJMenuBar(menuBar); final JMenu fileMenu = new JMenu();
fileMenu.setText("File");
menuBar.add(fileMenu); final JMenuItem addMenuItem = new JMenuItem();
addMenuItem.setText("Add vCard");
fileMenu.add(addMenuItem); final JMenuItem addVcalendarMenuItem = new JMenuItem();
addVcalendarMenuItem.setText("Add vCalendar");
fileMenu.add(addVcalendarMenuItem); final JMenuItem addFileMenuItem = new JMenuItem();
addFileMenuItem.addMouseListener(new MouseAdapter()
{ public void mousePressed(MouseEvent e)
{
JFileChooser chooser = new JFileChooser(); int returnVal = chooser.showOpenDialog(null);
if (returnVal == JFileChooser.APPROVE_OPTION)
{ model.addRow("11", "11", "11", "11", "11", "11", "11", "11");
table.updateUI(); } }
});
addFileMenuItem.setText("Add File");
fileMenu.add(addFileMenuItem); final JMenuItem addLuckyDrawMenuItem = new JMenuItem();
addLuckyDrawMenuItem.setText("Add Lucky Draw");
fileMenu.add(addLuckyDrawMenuItem); final JMenuItem deleteFileMenuItem = new JMenuItem();
deleteFileMenuItem.setText("Delete File");
fileMenu.add(deleteFileMenuItem); final JMenuItem saveFileListMenuItem = new JMenuItem();
saveFileListMenuItem.setText("Save File List as");
fileMenu.add(saveFileListMenuItem); final JMenuItem exitMenuItem = new JMenuItem();
exitMenuItem.setText("Exit");
fileMenu.add(exitMenuItem); final JMenu controlMenu = new JMenu();
controlMenu.setText("Control");
menuBar.add(controlMenu); final JMenuItem startMenuItem = new JMenuItem();
startMenuItem.setText("Start");
controlMenu.add(startMenuItem); final JMenuItem stopMenuItem = new JMenuItem();
stopMenuItem.setText("Stop");
controlMenu.add(stopMenuItem); final JMenuItem saveAndClearMenuItem = new JMenuItem();
saveAndClearMenuItem.setText("Save and clear all results");
controlMenu.add(saveAndClearMenuItem); final JMenuItem showReportsMenuItem = new JMenuItem();
showReportsMenuItem.setText("Show reports");
controlMenu.add(showReportsMenuItem); final JMenu languageMenu = new JMenu();
languageMenu.setText("Language");
menuBar.add(languageMenu); final JMenuItem englishMenuItem = new JMenuItem();
englishMenuItem.setText("English");
languageMenu.add(englishMenuItem); final JMenuItem franMenuItem = new JMenuItem();
franMenuItem.setText("Fran");
languageMenu.add(franMenuItem); final JMenuItem menuItem_6 = new JMenuItem();
menuItem_6.setText("Menu Item");
languageMenu.add(menuItem_6); final JButton button = new JButton();
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0)
{
model.addRow("11", "11", "11", "11", "11", "11", "11", "11");
table.updateUI();
}
});
button.setText("New JButton");
button.setBounds(0, 234, 99, 23);
frame.getContentPane().add(button); } private static void addPopup(Component component, final JPopupMenu popup)
{
component.addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent e)
{
if (e.isPopupTrigger())
showMenu(e);
} public void mouseReleased(MouseEvent e)
{
if (e.isPopupTrigger())
showMenu(e);
} private void showMenu(MouseEvent e)
{
popup.show(e.getComponent(), e.getX(), e.getY());
}
});
}
}