看一下这个
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class Frame1 extends JFrame {
private JPanel contentPane;
private BorderLayout borderLayout1 = new BorderLayout();
private JScrollPane jScrollPane1 = new JScrollPane();
private JTable jTable1 = new JTable(10,3); //Construct the frame
public Frame1() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
//setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]")));
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(borderLayout1);
this.setSize(new Dimension(400, 300));
this.setTitle("Frame Title");
contentPane.add(jScrollPane1, BorderLayout.CENTER);
jScrollPane1.getViewport().add(jTable1, null);
JComboBox comboBox= new JComboBox();
comboBox.addItem("123");
comboBox.addItem("456");
comboBox.addItem("789"); JComboBox comboBox1= new JComboBox();
comboBox1.addItem("abc");
comboBox1.addItem("efg");
comboBox1.addItem("xyz");
jTable1.getColumnModel().getColumn(2).setCellEditor(new MyCellEditor(comboBox,comboBox1));
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
class MyCellEditor extends DefaultCellEditor{
DefaultCellEditor editor0,editor1;
public MyCellEditor(JComboBox box0,JComboBox box1){
super(box0);
editor0= new DefaultCellEditor(box0);
editor1= new DefaultCellEditor(box1);
}
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected,
int row, int column) {
if(row % 2 == 0){
return editor0.getTableCellEditorComponent(table,value,isSelected,row,column);
}else{
return editor1.getTableCellEditorComponent(table,value,isSelected,row,column);
}
}
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;public class Frame1 extends JFrame {
private JPanel contentPane;
private BorderLayout borderLayout1 = new BorderLayout();
private JScrollPane jScrollPane1 = new JScrollPane();
private JTable jTable1 = new JTable(10,3); //Construct the frame
public Frame1() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
//setIconImage(Toolkit.getDefaultToolkit().createImage(Frame1.class.getResource("[Your Icon]")));
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(borderLayout1);
this.setSize(new Dimension(400, 300));
this.setTitle("Frame Title");
contentPane.add(jScrollPane1, BorderLayout.CENTER);
jScrollPane1.getViewport().add(jTable1, null);
JComboBox comboBox= new JComboBox();
comboBox.addItem("123");
comboBox.addItem("456");
comboBox.addItem("789"); JComboBox comboBox1= new JComboBox();
comboBox1.addItem("abc");
comboBox1.addItem("efg");
comboBox1.addItem("xyz");
jTable1.getColumnModel().getColumn(2).setCellEditor(new MyCellEditor(comboBox,comboBox1));
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
class MyCellEditor extends DefaultCellEditor{
DefaultCellEditor editor0,editor1;
public MyCellEditor(JComboBox box0,JComboBox box1){
super(box0);
editor0= new DefaultCellEditor(box0);
editor1= new DefaultCellEditor(box1);
}
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected,
int row, int column) {
if(row % 2 == 0){
return editor0.getTableCellEditorComponent(table,value,isSelected,row,column);
}else{
return editor1.getTableCellEditorComponent(table,value,isSelected,row,column);
}
}
}
}
comboBox.addItem("456");
comboBox.addItem("789");你的这种方式是直接写进comboBox的,我想实现的是comboBox的Item是由queryDataset查询得来的,我说得明白了吗?:)
ex.
column3.setPickList(new com.borland.dx.dataset.PickListDescriptor(queryDataSet_data_lookup, new String[] {"id"}, new String[] {"规则类别"}, new String[] {"规则类别"},"规则类别",false));