首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在不先单击的情况下获取要在JTable中显示的JComboBox

,可以通过自定义TableCellRenderer来实现。

首先,创建一个自定义的TableCellRenderer类,继承DefaultTableCellRenderer,并重写getTableCellRendererComponent方法。在该方法中,根据需要在JTable中显示的数据类型,返回相应的组件,这里是JComboBox。

代码语言:java
复制
import javax.swing.*;
import javax.swing.table.DefaultTableCellRenderer;
import java.awt.*;

public class ComboBoxTableCellRenderer extends DefaultTableCellRenderer {
    private JComboBox comboBox;

    public ComboBoxTableCellRenderer(JComboBox comboBox) {
        this.comboBox = comboBox;
    }

    @Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
        comboBox.setSelectedItem(value);
        return comboBox;
    }
}

然后,在创建JTable时,将需要显示JComboBox的列设置为使用自定义的TableCellRenderer。

代码语言:java
复制
JTable table = new JTable(data, columnNames);
TableColumn comboBoxColumn = table.getColumnModel().getColumn(columnIndex);
comboBoxColumn.setCellRenderer(new ComboBoxTableCellRenderer(comboBox));

其中,data是JTable的数据模型,columnNames是列名数组,columnIndex是需要显示JComboBox的列的索引。

这样,在JTable中,对应的列将以JComboBox的形式显示数据,而不需要先单击。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

图书管理系统代码 4SearchFrame (…

“分类”文件夹下的各个具体分类的文件夹 comBoBox= new JComboBox(file_class); northPanel1.add(comBoBox,BorderLayout.EAST...FileInputStream(file_book_info); ObjectInputStream obo = new ObjectInputStream(fr); int n = 0;//加入变量n 的目的是考虑到搜索出来的同一个作者多本书的情况下...int m = Integer.parseInt(textField.getText()); book_search =(Book)obo.readObject();//先读取第一个对象 // 如果文本框中输入的文字出现在某个对象中执行以下操作...=null);} //当没有检索到书的时候显示结果 if(!exist){ JLabel label_result = new JLabel("没有检索到该书!!")...; private  JComboBox comBoBox; private JTextField textField ; private JTable  table_search ; private

1.2K20

「旅游信息管理系统」 · Java Swing + MySQL 开发「建议收藏」

) { super("旅游管理信息系统"); this.setBounds(0, 0, 1200, 700); this.setLocationRelativeTo(null);//让窗口在屏幕中间显示...让窗口大小不可改变 getContentPane().setLayout(null); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//用户单击窗口的关闭按钮时程序执行的操作...super.setTitle("系统登录"); this.setBounds(0, 0, 700, 550);//设置大小 this.setLocationRelativeTo(null);//让窗口在屏幕中间显示...; } else { //获取用户选择的数据 String id=jTable.getValueAt(jTable.getSelectedRow(), 0).toString...修改:点击游客将会将游客编号绑定到文本框中,可以对该游客编号对应的游客进行团号和性别修改。删除:点击要删除的信息,点击删除即可。添加:对报名信息进行添加。

2.8K20
  • Java Swing 期末大作业-----图书借阅管理系统

    如果是第一次来借书,那么必须要在系统中创建读者信息, 在根据读者id进行借阅书籍,所以需要一个读者信息增加功能。系统管理员给长期不借阅书籍的读者注销读者用户,需要读者信息删除功能。...点击退出,正常退出界面 7.读者类型管理功能实现 8.图书类型管理功能实现   在表单显示所有的类型信息,点击添加,给booktype表中添加数据,点击修改,修改对应类型编号的数据的相关信息。...点击删除,删除指定类型编号的图书类型信息,点击退出,正常退出界面。 9.图书借阅功能实现    在表单中显示所有已经被借走的书籍信息,点击借阅,将借阅的信息进行增加到bookBorrow的表中。...10.图书归还功能实现    在表单中显示所有已经被借走的书籍信息,点击归还,将借阅的信息进行删除。点击关闭页面正常退出。...11.用户增加功能实现    在文本框中输入用户名和密码,点击添加,将对应信息放到user类中,在插入到user表中。 用户名都是唯一的,不能输入已经存在过的用户名。

    3.9K40

    JComboBox和JTextField组件

    JComboBox组件被称为组合框或者下拉列表框,它将所有选项放在一起,默认显示的是第一个添加的选项。...JComboBox组合框组件分为可编辑和不可编辑两种形式,对于不可编辑的组合框,用户只能在现有选项列表中进行选择,对于可编辑的组合框,用户可以自己输入新的内容,也可以在现有选项中选择。...JComboBox类的常用方法 方法声明 功能描述 public JComboBox() 创建一个没有可选项的组合框 public JComboBox(Object[] items) 创建包含指定数组中的元素的...例12-9运行结果(单击组合框) 图12.11中,运行程序弹出JFrame窗口,窗口中有下拉列表,列表中有四个选项,先创建JFrame窗体,在构造方法中初始化窗体,将下拉框及其选项都添加进去,用户可以单击组合框进行选择...文本框组件用来显示或编辑一个单行文本,在Swing中通过JTextField类创建,该类继承自JTextComponent类,JTextField类的构造方法如表12.11所示。

    12210

    java swing一篇轻松学习(高考后可以自学)

    添加到的组件 int getIconTextGap() 返回此标签中显示的文本和图标之间的间隔量 int getHorizontalTextPosition() 返回 JLabel 的文本相对其图像的水平位置...void removeAllItems() 从下拉列表框中删除所有项 int getItemCount() 返回下拉列表框中的项数 Object getItemAt(int index) 获取指定索引的列表项...cmb=new JComboBox(); //创建JComboBox cmb.addItem("--请选择--"); //向下拉列表中添加一项 cmb.addItem("长命百岁"...list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); scrollPane.setViewportView(list); //在滚动面板中显示列表...getRowCount() 返回 JTable 中可以显示的行数(给定无限空间) getRowSorter() 返回负责排序的对象 getSelectedColumn() 返回第一个选定列的索引,如果没有选定的列

    9.6K10

    【DB笔试面试849】在Oracle中,在没有配置ORACLE_HOME环境变量的情况下,如何获取ORACLE_HOME目录?

    ♣ 问题 在Oracle中,在没有配置ORACLE_HOME环境变量的情况下,如何快速获取数据库软件的ORACLE_HOME目录?...♣ 答案 若配置了ORACLE_HOME环境变量,则可以通过“echo $ORACLE_HOME”来直接获取,如下所示: [oracle@edsir4p1-PROD2 ~]$ echo $ORACLE_HOME...sqlplus -v SQL*Plus: Release 11.2.0.1.0 Production 若没有配置ORACLE_HOME环境变量,则可以通过“more /etc/oratab”来直接获取...11.2.0/dbhome_1:N PROD2:/u01/app/oracle/product/11.2.0/dbhome_1:N 若数据库已启动监听程序,则可以通过“ps -ef|grep tns”来直接获取...,则可以通过pmap命令来查看ORACLE_HOME的路径,pmap提供了进程的内存映射,用于显示一个或多个进程的内存状态。

    2K50

    java swing 添加 jcheckbox复选框

    运行后,窗体在屏幕左上角显现并且是最小化的形式。那么关于设置窗体的显示就不再赘述了,值得注意的是窗体的布局必须设置。...值得一提的是在这七个构造方法中,设计器(如果您使用了MyEclipse)使用的是JTable(TableModel dm)这个版本。...而一般情况使用JTable(Vector rowData,Vector columnNames)       在Java方法中,如果参数需要传递接口,可以在调用方法时传递一个(匿名)对象,该对象是一个不具名的类的实例...在详细说明之前先解释一下JTable的显示原理:       首先是数据来源,您使用JTable的构造方法,大部分重载中参数即包含了数据,比如JTable(VectorrowData, Vector columnNames...(即显示数据的组建--或控件) 67 67 * 可以为JCheckBox JComboBox JTextArea 等 68 68 * @see

    3.3K00

    数据库系统课程设计 --- 人事管理系统(超详细)

    在看该文章之前,我希望大家能够从头慢慢看下去,而不是直接去复制代码,该 课程设计其实可以学到一些东西的,说不定以后也许能够用上来的 前言 -- jar 包的导入 下面我是在 IDEA 中实现的代码,...(); //返回的是结果集合 // 5, 遍历结果集合 // 通过 next 方法 就可以获取到临时表的每一行数据,如果获取到最后一行之后,再进行 next 返回 false...,确保在插入、更新和删除数据时,数据库会遵循定义的外键约束规则。...System.out.println("queryProcess(). sql = " + sql); LdbProcess.connect(); // 从 staff 表中获取登录账号密码...图像功能在我们当前的人事管理系统旁边,然后往下的就是按钮、 下拉框、文本的布局,然后我们实现了时间显示功能,让其显示在右下角。

    24610

    java超市仓库管理系统(超市条形码管理系统)

    ,要求如下: 1、商品管理页面布局,添加一个JScrollPanel(内嵌JTable),用来显示所有商品的信息;添加两个JLabel用于显示查询提示信息;添加JTextField用于输入商品商品名称;...图1 2、在“商品名称”对应的JTextField中输入商品名称,单击“查询”:如果存在该商品,则显示如图2所示的窗体;若输入的名称不存在,则弹出“没找到该商品!”的对话框。...图2 3、单击“添加商品”按钮,弹出如图3所示的窗体,此时必须输入所有商品信息, 否则将弹出如图4所示的对话框;当商品信息输入完毕,单击“确定”按钮,实现商品的添加, 在弹出如图5所示的对话框后,释放窗体...JPanel中的控件时,必须设置其大小,当然JPanel对象亦然,否则很有可能不能正常显示。...public void actionPerformed(ActionEvent arg0) { dispose(); } }); } } 特别说明: 项目中有一处代码错误,导致添加商品中的价格会获取到数量

    3.5K20

    java winform开发之JTable全攻略

    列表在任何一门开发语言中都占有非常重要的地位,在.Net中有GridView,在extjs中有GridPanel。。。,而在java Swing中,它的名字叫JTable。...后,只要调用JTable的setModel方法,就可以将列头及数据的信息显示在表格中啦。...2)怎样添加行点击事件 首先,在JTable的设计视图中先选中JTable,然后右击,在事件的弹出菜单中依次选中"mouse-click”就可以捕捉表格的点击事件了,在这个事件监听方法中,会传入一个java.awt.event.MouseEvent...只要在这个对象中重写一下toString()方法,将我们希望在单元格中显示的内容return出来就可以了,只JTable本身,并没有提供设置行id等识别表格行对象的方法,所以我想到了自己定义一个单元格对象...,起码,大部分情况下是需要对行标识进行比对,看是否存在关键字相同的一行再作处理,像我所做的商品添加操作,如果请求新添加的商品项已经存在于表格中,那么事实上只需要将表格中相应商品行的数量加一就可以了,如果之前并没存在该商品项的情况下

    1.2K30

    java swing 实现数据库的增删查改

    最近一个实习生问我,swing好难啊,就是jtable的增删查改都做不出来了,我也好久没有做了,各种文档,各种查找,各种百度终于是完成了一个小的项目,也就是所说的增删除查改。不废话了,上代码。...cob = new JComboBox(deptList.toArray()); // 创建一个使用下拉框代替编辑框的单元格对象 DefaultCellEditor dept = new...DefaultCellEditor(cob); // 获取表格的列model对象 TableColumnModel col = table.getColumnModel();...// 获取部门的列,设置这个列为下拉框列类型 col.getColumn(2).setCellEditor(dept); // 查询所有的用户信息 List list...= userDao.queryAll(); // 遍历每一条数据,添加到model中 int i = 0; for (User user : list) { //

    2.8K31

    高级Swing 组件

    JList组件​ JList组件类似一组复选框或者单选按钮,不过JList组件的各个项目是放在单个框中,并且是通过单击项目本身而不是单击按钮来选定的。...JTable 类有一个构造器,将二维对象数组包装在一个默认模型之中。这是我们在第一个示例代码中使用的方法。在本章的后面部分中,我们将要介绍表格模型。...它能够计算出单元格的值,或者从别的某个地方获取这些值。 在本节中,我们将要介绍另一个非常有用的技术,即过滤器模型(filter model),它可以用于显示来自另一个表格的,采用另一种格式的信息。...当JTable需要查看某个值时,过滤器模型便计算实际的行索引,并且从模型中获取该值。...在一个事例代码中,我们将再次显示我们的行星数据,不过这一次,我们想要为该表格提供更多的关于列类型的信息。

    6910

    社团活动学分管理系统

    组件并显示 public void Import_Sum(ResultSet result , ResultSet sum ,JTable table){ try {...文件的数据导入到数据库中,但是一定要注意必须把Excel文件的格式转化为xls文件即2003版的Excel文件格式。...4) 按照起始认证时间与终止认证时间查询学生活动信息:此功能是可以查询在认证时间在起始认证时间与终止认证时间之间(包含起始认证时间与终止认证时间)的所有学生活动数据信息。下面是该功能的截图。...9) 总分查询:可以以学生为类别,查询该学生的说有活动信息以及计算总社团活动学分。下面是该功能的截图。 ? 10) 记录删除:可以把已经查询并在界面中显示的所有学生活动信息数据进行删除。...12) Excel文件输出:可以把已经查询显示的学生活动记录以Excel文件形式进行输出到电脑桌面。下面是该功能的截图。 ?

    5.2K30

    java.awt.swing菜单组件

    在应用系统开发中,菜单组件是经常使用的组件,菜单组件包括下拉式菜单和弹出式菜单。下拉式菜单包含若干个菜单项,每个菜单项在用户单击时引发一个动作,菜单可以看做一组层次化管理的命令集合。...12.3.1 JMenu 在Java中实现下拉式菜单,可以使用JMenu菜单组件。...12.3.1 JPopMenu 弹出式菜单,如果要在Java中实现此菜单,可以使用JPopupMenu菜单组件,先来了解一下它的常用方法,如表12.15所示。...12.3.1 JTable 表格也是Swing GUI编程中常用的组件,表格是一个由行、列组成的二维显示区域,Swing的JTable提供了对表格的支持,通过使用JTable创建表格是非常容易的,它的构造方法如表...public (Object[][] rowData, Object[] obj) 构造一个 JTable 来显示二维数组 rowData 中的值,其列名称为 columnNames。

    13910

    如何在Java中使用Table

    大家好,我是小面,今天给大家分享一下在java中如何运用Table。 在Java中,表用于将数据排列成列和行。列是表中水平排列的空间,而行是表中垂直排列的空间。...列和行之间的交点称为单元格,用于保存单条数据。 在Java中,开发人员可以使用JTable方法在其应用程序中创建表。JTable是从JComponent类继承的Swing组件。...您需要在其构造函数中为要构造的表提供两个参数(row和column),如以下示例代码段所示: JTable table = new JTable (row, column); row和column的值可以由两个整数值组成...,它将生成以下输出: 当您单击上述任何一个单元格时,您会注意到其中的数据是可编辑的。...上面显示的代码示例将表直接添加到JFrame容器中。但是,您可以将表添加到滚动窗格中,这样当数据超出容器时,用户可以轻松浏览数据。

    2.2K40

    解决java中html转word文档,转成功后的word文档在断网情况下无法显示图片问题「建议收藏」

    (最严重的)图片存在word的是一个链接而已。 当我们在断网的情况下(或者拷贝到两一台电脑上)打开word文档的时候 实际上看到的图片是一个链接,也就是说图片转化的不成功。...好像是涉及到了上面所叙述的html转word的原理部分,但是那是word做的事,鬼知道当我们在选择将word另存为.doc格式的时候word做了什么操作。。。。...所以在尝试了之后也放弃了。 3.用POI 这个jar包 说这个的更是扯。 Apache的POI对图片的处理不友好,甚至有的版本根本就不支持。在入坑很久之后,果断放弃。。。...4. javacdoc 的包 亲测 不可以。以上4中方法是网上讨论最多的,我从09年的帖子一直翻到17年的,总结下来的。。发现并没有找到解决办法。。...实际开发的过程中不会因为一点问题就换模板的。这样不利于开发和维护。

    5.7K20

    JavaSwing_8.1:焦点事件及其监听器 - FocusEvent、FocusListener

    在这种情况下,原来的聚焦状态将被自动一旦操作完成恢复,或者,对于窗口失活的情况下,当窗口被重新激活。...要熟悉基本焦点概念或获取有关焦点的详细信息,请参阅如何使用焦点子系统。 本节说明如何通过在特定组件上注册FocusListener实例来获取焦点事件。...要获取许多组件的焦点状态,请考虑在KeyboardFocusManager类上实现PropertyChangeListener实例,如如何使用焦点子系统中的将焦点更改跟踪到多个组件中所述。...该窗口显示各种组件。注册在每个组件上的焦点侦听器报告每个焦点获得和焦点丢失的事件。对于每个事件,将报告焦点更改中涉及的其他组件,即相反的组件。...您将在文本区域中看到一条“焦点已获得:JTextField”消息-其“相反组件”为空,因为它是第一个具有焦点的组件。 单击标签。什么也没发生,因为默认情况下标签无法获得焦点。 单击组合框。

    4.7K10

    Java Swing JTable

    1 简介 JTable用于显示和编辑常规的二维单元格表。有关面向任务的文档和使用JTable的示例,请参见Java教程中的如何使用表。...请注意,如果希望在独立视图中(在JScrollPane外部)使用JTable并希望显示标头,则可以使用getTableHeader()获取它并单独显示它。...源分发的演示区域中的“ TableExample”目录提供了一些JTable使用情况的完整示例,涵盖了如何使用JTable提供从数据库获取的数据的可编辑视图以及如何修改显示中的列。...默认情况下,列可能会在JTable中重新排列,以使视图的列以与模型中的列不同的顺序出现。这一点根本不影响模型的实现:对列进行重新排序时,JTable在内部维护列的新顺序并在查询模型之前转换其列索引。...,并支持行内容的滚动(滚动行内容时,表头会始终在顶部显示)。

    5.1K10
    领券