我嘗試將標題行添加到我的JTable
,然後將其放在面板上。
這是我的示例代碼:JTable不添加標題行
Map <String, Float> tmpCart = new HashMap<String , Float>();
MainPanel.removeAll();
MainPanel.repaint();
tmpCart = cart.GetMap();
DefaultTableModel tab = new DefaultTableModel();
tab.setColumnIdentifiers(new String[] {"Name", "Price"});
for (String key : tmpCart.keySet())
tab.addRow(new Object[] {key, tmpCart.get(key)});
JTable jTab = new JTable(tab);
jTab.setBounds(10, 10, 200, 200);
jTab.setBackground(Color.orange);
jTab.setRowHeight(25);
JScrollPane pan =new JScrollPane(jTab);
MainPanel.add(pan);
// MainPanel.add(jTab);
// pan.repaint();
我怎樣寫多好?
//回答
我嘗試動態地創建JTable
,按鈕之後,我想從Hashtable
獲取數據,創建表,並把這個錶板上。
第一步是從面板中刪除所有組件,並且未來從Hashmap`
創建JTable
使用數據
全功能:
private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
Map <String, Float> tmpCart = new HashMap<String , Float>();
MainPanel.removeAll();
MainPanel.repaint();
tmpCart = cart.GetMap();
DefaultTableModel tab = new DefaultTableModel();
tab.setColumnIdentifiers(new String[] {"Name", "Price"});
for (String key : tmpCart.keySet())
tab.addRow(new Object[] {key, tmpCart.get(key)});
JTable jTab = new JTable(tab);
jTab.setBounds(10, 10, 200, 200);
jTab.setBackground(Color.orange);
jTab.setRowHeight(25);
// MainPanel.add(pan);
MainPanel.add(jTab);
}
此代碼,創建表,並把它在面板上,但沒有設置第一行的列名(文本:「名稱」和「價格」)。
請改變你的'JTree的不添加header'排至'JTable中不添加標題行或'JTreeTable不添加標題行' – mKorbel
您還沒有發佈SSCCE! – camickr
請學習java命名約定並堅持使用它們 – kleopatra