我有7行4列的数据表。

我要删除与jtextfield值不相等的行?

我已经创建了将旧模型替换为新模型的函数。但是它并没有按我预期的那样工作。

 public class App extends JFrame {
   final  String columns[] = {"Symbol", "Name", "Price", "Check"};//columns

public App() {

    Object rows[][] = {
            {"A", "About", 44.36, "sad"},
            {"A", "About us", 44.36, "sad"},
            {"M", "Home", 44.36, "sad"},
            {"L", "About", 44.36, "sad"},
            {"P", "About", 44.36, "sad"},
            {"OL", "Log", 44.36, "sad"},
            {"POOP", "Log", 44.36, "sad"},

    };

    DefaultTableModel model = new DefaultTableModel(rows, columns);
    final JTable table = new JTable(model);
    JScrollPane pane = new JScrollPane(table);
    JFrame frame = new JFrame("Filter JTable");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.add(pane, BorderLayout.CENTER);
    JPanel panel = new JPanel(new BorderLayout());
    final JTextField filterText = new JTextField();
    panel.add(filterText, BorderLayout.CENTER);
    frame.add(panel, BorderLayout.NORTH);

    frame.setSize(800, 800);
    frame.setVisible(true);


    filterText.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent actionEvent) {
            int row = table.getRowCount();
            int col = table.getColumnCount();

            String textfield = filterText.getText();
            Object[][] data= new Object[row][3];

            for(int s=0;s<row;s++)
            {
                for(int x=0;x<col;x++)
                {
                    if(table.getValueAt(s,0).toString().equals(textfield))
                    {
                        data[s][x] = table.getValueAt(s,0);
                    }

                }
            }
           filterRow(data);
        }

    });
}
    private  void filterRow(Object[][] data)
    {
        DefaultTableModel model = new DefaultTableModel(data,columns);
        final JTable table = new JTable(model);
        JScrollPane pane = new JScrollPane(table);
        JFrame frame = new JFrame("Filter JTable");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(pane, BorderLayout.CENTER);
        JPanel panel = new JPanel(new BorderLayout());
        final JTextField filterText = new JTextField();
        panel.add(filterText, BorderLayout.CENTER);
        frame.add(panel, BorderLayout.NORTH);
    }
public static void main(String args[]) {
    new App();
   }
}

例如,我想在jtextfield中添加About值,而所有其他数据都必须从jtable中删除。

  ask by JohnnyJP translate from so

本文未有回复,本站智能推荐:

1回复

如何用不同的类对象制作2D数组?

我有3个类,第一个类是具有2个变量的Node,第二个类是具有两个变量的Instance。第三个类,称为Decision具有两个2-D数组,第一个是具有不同类型的类的2D数组。 如何制作具有不同类对象(节点和实例)的2D阵列? 第二个2D数组(y)是Integer类型,其每个维都是Node类和
2回复

如何在Java中的对象内复制2D数组?

我已经定义了一个类如下: 所以这就是我的问题:当我尝试制作副本时,例如myBoard.copy(otherBoard) ,对一块板进行的任何更改都会影响另一块板。 我复制了单独的原始元素,但对于两个板,对matrix的引用是相同的。 我以为我是复制元素,为什么指针一样? 我该怎么做
1回复

如何检查值是否位于二维数组的某个位置?

我正在创建一个二维数组: int[][] family = new int[10][]; 然后我用family[0][0] = 2添加数字二 如何检查值 2 是否在数组的第一个元素中? 我试过if (family[0][0] == 2){return true;}但是当我运行程序时它只是跳过它。
3回复

在2D数组中删除行的最快方法

我有一个程序,需要从byte[][]数组中删除一组行。 我要删除其中没有零的每一行。 现在,我正在使用以下方法: 这为我提供了一种从2D数组中删除行并将其替换为数组顶部的零行的相当快速的方法。 有没有更快的方法来达到相同的结果? 如果不清楚脚本的功能,那是为了删除俄罗斯方块游
1回复

如何将二维数组的值分配给一维数组?

我制作了 2 个一维数组,并希望对二维数组的值进行排序,以便它们可以在一维数组之间进行划分。 对于上下文,我正在制作一个程序,该程序利用用户输入来创建组织受薪和计时员工的二维数组。 用户输入他们想要存储在employeeDatabase 中的雇员人数。 然后他们输入 ID 号 (employee
3回复

如何使用1D数组初始化2D数组?

我只想使用循环中的1D数组值初始化2D数组... 我希望我的最终2D数组如下所示以跟随输入x = 2 a = 1,a = 2&a = 1 请纠正我,如果我问的是不可能的...或提供另一种方法来获得这种结果。...谢谢
3回复

按特定值过滤二维数组的行

我是 Java 的初学者。 对于我的任务,我得到了这样的表。 该表代表参加了 7 场比赛的 6 名选手。 每个单元格中的值是他们在特定种族中获得的位置: 我的程序的任务是打印在至少一场比赛中获得第一名的跑步者数量。 我设法编写了一个代码来计算所有跑步者获得的第一名的数量,但是我正在努力寻找解决方
1回复

如何计算二维数组中行之间的差异?

我是新来的,很高兴加入社区! 我想出的一个练习遇到了问题,但几天前我一直在努力解决它,所以我认为现在是向您寻求帮助的合适时机。 我有一个二维数组,想计算列中所有位置之间的差异,然后将它们存储在另一个二维数组中。 初始数组有 4 行 3 列。 就像 3d 中具有 3 个坐标的 4 个点。 这就是我