相关疑难解决方法(0)

当单元格中的JComboBox中有ItemEvent时,如何获取CellRow

我有一个JTable,其中包含一个包含JComboBox的列.

我有一个附加到JComboBox的ItemListener,它对任何更改起作用.

但是,ItemListener没有获取已更改的ComboBox所在的Row的方法.

我需要行号以便在ComboBox发生更改时对同一行中的另一列进行操作.

任何帮助,将不胜感激.


这是我的简短代码.我想要完成的是在itemlistener获取更改时获取ComboBox的表行.

import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.io.IOException;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.TableColumn;

public class Example extends JFrame {

    private static final long serialVersionUID = 1L;
    public static int maxX, maxY;
    public static final String[] columnHeads = {"Col 1", "Col 2", "Col 3"};

    public static void main(String args[]) throws IOException {
        Example example = new Example();
    }

    public Example() {
        //Create Table Model
        DefaultTableModel model = new DefaultTableModel();

        for (int index …
Run Code Online (Sandbox Code Playgroud)

java swing jtable tablecelleditor jcombobox

6
推荐指数
1
解决办法
7962
查看次数

使用setValueAt重新创建互斥复选框

我有一个使用自定义DefaultTableModel的JTable,它在最后一列中有一些布尔值(显示为勾选框).

当我添加一个MouseListener来检索被点击的值时,似乎不再发生勾选框的切换.

// As soon as this is used in the component
// that is using the JTable, the toggling stops
table.addMouseListener(new MouseAdapter() {  
            public void mouseClicked(MouseEvent evt) {  
                int col = table.getSelectedColumn();  
                int row = table.getSelectedRow();

                Object o = table.getModel().getValueAt(row, col);
Run Code Online (Sandbox Code Playgroud)

我假设侦听器正在使用该事件.我可以将哪些内容添加到MouseListener代码以恢复切换行为?

编辑:

哎呀,问题似乎在于我的覆盖:

@Override
public void setValueAt(Object aValue, int row, int column) {

    // Attempt at mutually exclusive checkboxes
    if( column == 2 ){ // Starts at 0. Seek an alternative solution to avoid hardcoding?
        // Algorithm: cycle …
Run Code Online (Sandbox Code Playgroud)

java swing jtable mouselistener

4
推荐指数
1
解决办法
3951
查看次数

标签 统计

java ×2

jtable ×2

swing ×2

jcombobox ×1

mouselistener ×1

tablecelleditor ×1