相关疑难解决方法(0)

在JTable中创建JComboBox,下拉列表始终可见

在Swing中可以在JTable中创建一个JComboBox,如本指南所示.他们有一张可爱的图片,展示了这一点:

在此输入图像描述

但是,未能显示的是,如果您没有单击该单元格,则下拉箭头不可见,它看起来像普通文本标签,如下所示:

在此输入图像描述

您可以看到针织有下拉箭头,因为我只是点击它,但其他人没有.遗憾的是,这并不理想,因为没有视觉提示可以单击单元格来显示选项列表.换句话说,"Sport"列看起来与"Last Name"列相同.其中一个是下拉列表,另一个不是,但它们在视觉上看起来相同,除非您碰巧点击其中一个.

有什么办法可以在Swing中完成吗?

编辑:澄清一下,我想要的是"运动"栏中的所有单元格都有箭头指示下拉菜单,即使它们不是最少点击的.基本上,我希望它看起来像一个组合框,无论我是否点击它.

java swing jtable jcombobox

5
推荐指数
1
解决办法
5923
查看次数

将JComboBox与自定义渲染器一起用作JTable单元格渲染器/编辑器(体系结构)

我是GUI设计的新手,我试图在我走错路之前做好计划,任何帮助都会很好.我正在尝试显示JTable一行Employee,其本身的数据类型为StringArrayList<Cert>.Cert包含一个String.

我想让表格显示用于编辑的数据,但是对于一些列我想要实现从一组有效字符串中JComboBox选择a String,以及不同地为每个选项着色(不同的背景颜色)在JComboBox)).

此外,ArrayList<Cert>当前在单元格中显示为[xxx,xxx,...],其中XXX是toString()函数中每个项目的返回值ArrayList.我想我想把它显示ArrayList<Cert>为只读JComboBox,但我并不关心这个项目.

我在质疑我需要创建多少个类才能实现这一目标.我已经有了JTable扩展的自定义模型AbstractTableModel.我是否需要编写扩展名JComboBox或者我是否需要JComboBox为一个单元格扩展适当的渲染器并在那里进行魔术,然后将该自定义渲染器分配给单元格的单元格渲染器String

到目前为止,这是我所拥有的,轻描淡写的:

public class EmployeeTableModel extends AbstractTableModel {
  ...
  private ArrayList<Employee> myDataObjects = new ArrayList<Employee>();
  ...
  @Override
  public Object getValueAt(int row, int column) {
      Employee emp = myDataObjects.get(row);

      switch (column) {
          case 0:
              return emp.getName();
          case 1:
              return emp.getShift(); …
Run Code Online (Sandbox Code Playgroud)

java swing jtable renderer

2
推荐指数
1
解决办法
8296
查看次数

如何使JComboBox表编辑器具有普通JComboBox的设计?

我有一个JComboBox用作编辑器的人JTable.在图片中,您可以在标有列的列中看到它们Produs.我想JComboBox在网格单元格中使用独立设计,特别是组合框的右侧部分,网格单元格中缺少三角形,因此用户将知道网格单元格是组合框而不必点击其中一个.如何将JComboBox(IsBackFlush)的设计应用于JComboBoxes网格中?

从本质上讲,我如何comboBox2根据设计进行设计comboBox1?谢谢.

裁剪图像

java swing jtable tablecelleditor jcombobox

2
推荐指数
1
解决办法
935
查看次数

标签 统计

java ×3

jtable ×3

swing ×3

jcombobox ×2

renderer ×1

tablecelleditor ×1