【发布时间】:2013-12-17 06:02:06
【问题描述】:
我已经为此工作了一段时间,但似乎无法添加滚动窗格。我正在创建一个 JFrame,向该框架添加一个 JTable,然后在 for 循环中更新单元格。但是我不能让 JScrollPane 添加而不会崩溃。我也无法在不崩溃的情况下声明列标题。任何想法都将不胜感激。
frame6.setIconImage(Toolkit.getDefaultToolkit().getImage("images\\iconimage.jpg"));
frame6.pack();
frame6.setResizable(false);
frame6.setVisible(true);
frame6.setSize(400,200);
frame6.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
int w = frame6.getSize().width;
int h = frame6.getSize().height;
int x = (dim.width-w)/2;
int y = (dim.height-h)/2;
frame6.setLocation(x, y);
JPanel btnPnl = new JPanel(new BorderLayout());
JPanel topBtnPnl = new JPanel(new FlowLayout(FlowLayout.TRAILING));
JPanel bottombtnPnl = new JPanel(new FlowLayout(FlowLayout.CENTER));
JButton close = new JButton("Close");
bottombtnPnl.add(close);
btnPnl.add(topBtnPnl, BorderLayout.NORTH);
btnPnl.add(bottombtnPnl, BorderLayout.CENTER);
defaultTableModel model = new DefaultTableModel(list.size(), 6);
JTable table = new JTable(model);
frame6.add(table, BorderLayout.NORTH);
JScrollPane jps = new JScrollPane();
table.add(jps);
table.setValueAt("FIRST NAME", 0,0);
table.setValueAt("LAST NAME", 0, 1);
table.setValueAt("CLUB", 0, 2);
table.setValueAt("POSITION", 0, 3);
table.setValueAt("AGE", 0, 4);
table.setValueAt("COUNTRY", 0, 5);
int j = 0;
for(i = 0; i < PlayerManager.list.size(); i++){
if(list.get(i).getPosition().toUpperCase().equals(pPosition.toUpperCase()))
{
table.setValueAt(PlayerManager.list.get(i).getfName(), j+1, 0);
table.setValueAt(PlayerManager.list.get(i).getlName(), j+1, 1);
table.setValueAt(PlayerManager.list.get(i).getClub(), j+1, 2);
table.setValueAt(PlayerManager.list.get(i).getPosition(), j+1, 3);
table.setValueAt(PlayerManager.list.get(i).getAge(), j+1, 4);
table.setValueAt(PlayerManager.list.get(i).getNationality(), j+1, 5);
j++;
}
}
frame6.add(table, BorderLayout.CENTER);
frame6.add(btnPnl, BorderLayout.SOUTH);
frame6.setTitle("Player Table");
close.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
frame6.setVisible(false);
frame6.dispose();
}
});
【问题讨论】:
标签: java swing jtable jscrollpane