看一下这个
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);
           }
       }
   }
}
 
 

解决方案 »

  1.   

    上面的例子来自http://www.chinajavaworld.net/forum/leoboard.cgi
      

  2.   

    Hi,czh306comboBox.addItem("123");
    comboBox.addItem("456");
    comboBox.addItem("789");你的这种方式是直接写进comboBox的,我想实现的是comboBox的Item是由queryDataset查询得来的,我说得明白了吗?:)
      

  3.   

    建立一个ResultSet,在用while来逐个添加就可以了
      

  4.   

    可以试试jdbTable.column.setPickList()方法
    ex.
    column3.setPickList(new com.borland.dx.dataset.PickListDescriptor(queryDataSet_data_lookup, new String[] {"id"}, new String[] {"规则类别"}, new String[] {"规则类别"},"规则类别",false));