带下拉列表的table

其实java提供了很多方法来展示界面,比如JTable里面再加入JComboBox,这样一个单元格选中那么这一行就可以填充。


package com.yw.test01;

import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

public class Test implements ItemListener{
    public static void main(String[] args) {

        new Test().init();

    }

    private void init() {
        JFrame jf = new JFrame("test");

        Object[][] obj = { { "a1", "male", "11" }, { "b1", "female", "12" },
                { "c1", "male", "14" } };

        Object[][] obj2 = {{"","",""}};

        Object[] colname = { "name", "sex", "age" };
        DefaultTableModel dataModel = new DefaultTableModel();
        // dataModel.setDataVector(obj, colname);
        Object[] nameobj={"请选择","a1","b1","c1"};
        
        
        JComboBox combox=new JComboBox(nameobj);
//        combox.addActionListener(this);
        combox.addItemListener(this);
        
        
        dataModel.setDataVector(obj2, colname);
        JTable table = new JTable(dataModel);

        table.getColumn("name").setCellEditor(new DefaultCellEditor(combox));
        
        JScrollPane scrollpane = new JScrollPane(table);
        

        jf.add(scrollpane);
        jf.setSize(300, 300);
        jf.setLocationRelativeTo(null);
        jf.setVisible(true);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    @Override
    public void itemStateChanged(ItemEvent e) {
        // TODO Auto-generated method stub
        //System.out.println(e);
        if(e.getStateChange()==e.SELECTED)
        {
            System.out.println(e.getItem());
        }
        
    }


}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值