java中如何在JTable中加JComboBox?

知道的最好写个详细的代码,十分感谢!... 知道的最好写个详细的代码,十分感谢! 展开
 我来答
匿名用户
2013-07-06
展开全部
主要是增加了一个JComboBox的数组来进行管理,为了实现该列的显示,还需要为该列增加一个数据类。中间遇到了两个问题,1.是JComboBox的显示内容,2.JComboBox的修改内容,3.空指针问题。具体看这个 http://hi.baidu.com/hanzhiguang/blog/item/b36aa60aa9d4211e95ca6b9e.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-06
展开全部
import javax.swing.*;
import java.awt.*;
import javax.swing.table.DefaultTableModel;

public class TableTest extends JFrame{
JPanel panel = (JPanel)getContentPane();
public JScrollPane scrollPane = new JScrollPane();
public JTable table = new JTable();
JComboBox c = new JComboBox();

public TableTest() {
init();
}

public void init() {
c.addItem("FOXCONN");
c.addItem("AOPEN");
c.addItem("MSI");
c.addItem("ACER");
table.setModel(setData());
table.getColumnModel().getColumn(1).setCellEditor(new DefaultCellEditor(c));
scrollPane.getViewport().add(table);
panel.add(scrollPane, BorderLayout.CENTER);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
private DefaultTableModel setData()
{
Object[][] BookInfo = {
{"主板", "FOXCONN", "10", new Boolean(false)},
{"CPU", "MSI", "200", new Boolean(true)}
};
String[] ColumnName = {"货物", "客户", "数量", "是否有出库"};
DefaultTableModel myData = new MyTableModel(ColumnName,0);
myData.addRow(BookInfo[0]);
myData.addRow(BookInfo[1]);
return myData;
}

public static void main(String para[]) {
new TableTest();
}
}

class MyTableModel extends DefaultTableModel {

public MyTableModel(Object[] head,int n)
{
super(head,n);
}
public Class getColumnClass(int columnIndex) {
return getValueAt(0, columnIndex).getClass();
}

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式