`
s398662926
  • 浏览: 10841 次
社区版块
存档分类
最新评论

不同的单元格,设置不同的下拉框

阅读更多
package swingtest;



import javax.swing.CellEditor;

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;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableColumn;

public class TestJButton {
  public static void main(String[] argv) throws Exception {
    MyTable table = new MyTable();
    DefaultTableModel model = (DefaultTableModel) table.getModel();

    model.addColumn("A", new Object[] { "item1","item3" });
    model.addColumn("B", new Object[] { "item2","item4" });

    String[] values = new String[] { "1", "2", "3" };
   table.setComboCell(1, 1, new MyComboBoxEditor(values));

//   TableColumn col = table.getColumnModel().getColumn(0);
//   col.setCellEditor(new MyComboBoxEditor(values));
//   col.setCellEditor(new MyComboBoxRenderer(values));
  //  table.setModel(model);
  //  table.updateUI();
    JScrollPane jp=new JScrollPane(table);
    jp.setViewportView(table);
    jp.setSize(400,300);
    JFrame jf=new JFrame();
    jf.getContentPane().add(jp);
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jf.setSize(400,300);
    jf.setVisible(true);

  }
}

class MyTable extends JTable{
    int myRow=-1,myCol=-1;
    TableCellEditor myEditor;
    public void setComboCell(int r,int c,TableCellEditor ce){
        this.myRow=r;
        this.myCol=c;
        this.myEditor=ce;
    }

    @Override
    public TableCellEditor getCellEditor(int row, int column) {
        System.out.println(row+","+column+";"+myRow+","+myCol+","+myEditor);
        if(row==myRow&&column==myCol&&myEditor!=null)
            return myEditor;
        return super.getCellEditor(row, column);
    }
   
}

class MyComboBoxEditor extends DefaultCellEditor {
  public MyComboBoxEditor(String[] items) {
    super(new JComboBox(items));
  }
}
分享到:
评论

相关推荐

    DataGirdView同一列下拉框每一行显示不同的内容

    在某些场景下,我们可能需要在某一列中使用下拉框(ComboBox)来提供用户选择,而每个下拉框的选项又需要根据所在行的数据进行个性化设置。这涉及到`DataGridView`与`DataTable`的结合使用以及自定义数据绑定。 `...

    C# 生成Excel 动态列 创建下拉框 单元格样式定义

    3. **单元格样式定义**:为了提高表格的可读性和美观度,我们可以为单元格定义不同的样式,包括字体、颜色、边框、对齐方式等。EPPlus提供了一系列方法来实现这些功能,如设置字体大小、颜色,单元格背景色,边框...

    Delphi中StringGrid动态绑定下拉列表

    如果需要,我们则将 ComboBox 的值设置为该单元格的文本。 问题3:如何控制 StringGrid 控件的 Tab 跳转 为了控制 StringGrid 控件的 Tab 跳转,我们可以使用 OnExit 事件。在这个事件中,我们可以根据当前单元格...

    单元格字体格式设置

    在Excel电子表格中,单元格字体格式设置是创建专业、清晰和易于理解的工作表的关键步骤。本教程将详细讲解如何对Excel单元格进行字体、颜色、大小、样式等多方面的格式化,帮助你提升工作表的视觉效果和功能性。 ...

    Excel单元格下拉列表设置

    本文将深入探讨如何使用开源库NPOI来实现Excel单元格的下拉列表设置。 NPOI是一个专门用于读写Microsoft Office文件格式(如xls和xlsx)的.NET库。它允许开发者在没有安装Office的情况下,通过编程方式创建、修改和...

    帆软FineReport实现下拉框控件多级联动查询模板 + SQL脚本

    为了学习和使用这些模板,你需要在FineReport环境中导入它们,然后查看和分析模板的设置,包括参数配置、数据查询以及图表的联动规则。通过这种方式,你可以了解到如何在实际项目中应用这些技巧,提高报表的交互性和...

    扩展的CListCtrl_编辑框_下拉框_CListCtrl_MFC_

    当我们需要在CListCtrl的单元格中增加更丰富的交互功能,比如编辑框或下拉框时,我们可以扩展其功能,以实现更加复杂的用户界面。 首先,我们需要理解CListCtrl的基本操作。它提供了InsertColumn、InsertItem等方法...

    把Access中的数据导入到excel并生成下拉框和实现2各单元格数据联动

    本教程将详细讲解如何从Access中导出数据到Excel,并在Excel中创建下拉框以及实现两个单元格之间的数据联动。 首先,让我们了解如何将Access中的数据导入Excel: 1. **打开Access数据库**:启动Access应用程序,...

    spreadjs_添加下拉框选则表单功能-demo.zip

    它们确保用户可以方便地将包含下拉框选择的表格打印出来,或者在不同版本之间进行切换和升级。 总结起来,SpreadJS 提供了一套完整的解决方案,使得在Web应用中创建具有下拉框选择的表单变得简单高效。通过灵活的...

    LABVIEW 表格中可输入颜色框_下拉框_选择框

    "LABVIEW 表格中可输入颜色框_下拉框_选择框"这个标题指出,我们将在LabVIEW中探讨如何通过自定义控件实现一个特殊的表格功能,允许用户在表格单元格中输入颜色、下拉框或选择框,而不仅仅是标准的文本。这样的功能...

    Excel中如何设置数据有效性通过下拉框选择数据.docx

    此外,设置数据有效性还可以与其他 Excel 功能结合使用,例如,与条件格式化结合使用,可以根据不同的数据输入情况,.display 不同的格式和颜色等。 设置数据有效性是 Excel 中一个非常实用的功能,它可以帮助用户...

    jQGrid动态填充select下拉框的选项值(动态填充)

    2. **定义`editoptions`**:接下来,我们需要定义`editoptions`,这是一个对象,用于设置下拉框的属性。其中,`value`属性可以用来静态定义选项,但在这里我们要动态填充,所以我们通常会使用一个函数来获取这些值。...

    Android类似于QQ账号登陆下拉框效果的实现

    而RecyclerView则更加灵活,可以通过设置不同的ItemDecoration来实现复杂的布局效果。 在处理触摸事件时,要注意监听下拉内容的点击事件,以便关闭下拉框。同时,还需要考虑触摸屏幕其他区域时自动收起下拉框的逻辑...

    C# DataGridView即可下拉选择又可手动输入内容的列

    本程序可给当前列的任意单元格设置自己的数据源(未设置情况下默认为列的数据源); 3,系统默认的需要指定ValueMember和DisplayMember;本程序无需指定,只需要给DataSource赋值即可。 4,手动输入一个下拉列表中不...

    演示通过easyExcel来导出excel数据

    此外,EasyExcel还支持动态生成Excel模板,可以根据不同的需求自定义导出格式。如果你需要对特定列进行排序或过滤,可以在`doWrite()`方法之前对数据列表进行处理。 最后,为了在SpringBoot应用中调用这个功能,...

    计算机应用 (引例)1_设置单元格格式.docx

    在计算机应用领域,尤其是电子表格...在实际工作中,根据不同的需求,我们还可以进一步调整单元格格式,如对数字格式的设定(如货币、百分比等)、条件格式的应用,以及自定义单元格样式等,以满足各种复杂的报表需求。

    iphone下拉框

    在不同尺寸的屏幕上,确保下拉框适配是重要的。使用Auto Layout和Size Classes可以保证控件在各种屏幕尺寸和设备方向下的正确显示。 6. **Accessibility与国际化**: 下拉框应考虑无障碍功能,如VoiceOver,确保...

    MFCGridCtrl控件使用说明

    * CGridCtrl 类:这是 GridCtrl 控件的核心类,负责处理控件的基本操作,如行和列的设置、单元格信息设置等。 * CGridCellCheck 类:这是一个特殊的单元格类,用于处理复选框单元格的操作。 * CGridCellCombo 类:这...

    JQuery可编辑表格、横向纵向菜单、标签页、级联下拉框、窗口

    通过设置宽度、高度、位置、按钮等属性,可以自定义窗口外观和行为。此外,窗口还支持拖动、缩放等交互,使得用户能够自由调整窗口大小和位置。 总的来说,jQuery作为强大的JavaScript库,为开发人员提供了丰富的...

Global site tag (gtag.js) - Google Analytics