有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

关于在Swing中实现简单删除按钮的java建议

所以我的问题是为我的GUI实现一个功能正常的删除按钮。 虽然我几乎所有的东西都在工作,但我一直在努力实现这个功能。它所做的是,当我单击“添加”按钮时,它会创建一行,其中包含文本字段和复选框。“Delete”的工作原理是,我单击复选框将其删除后,它只删除最近创建的字段。我的意图是GUI以一种动态的方式工作,在这里我可以单击任何复选框并仅删除那些选中复选框的特定行。 我已经研究过使用ItemListener的方法,但我仍然在努力,因为我认为这是最熟练的方法。我还将组件存储在一个数组中进行迭代。我觉得我与我现在所拥有的一切很接近,任何建议都值得赞赏

下面是在我的GUI中创建新行的“添加”按钮代码。然后是“删除”按钮代码,它将组件放置在一个数组中,但只删除已检查的最近创建的行

add = new JButton("Add");
 add.addActionListener(e ->{
      rowPanel = new JPanel(new GridLayout(1,4,5,5));
     for(int i = 0; i < 4; i++ ){

         rowPanel.add(new JTextField(8));
     }
     for(int l=0; l < 1; l++){
         rowPanel.add(new JCheckBox(), BorderLayout.EAST);

     }

     infoPanel.add(rowPanel);
     infoPanel.revalidate();
     infoPanel.repaint();

 });


 delete = new JButton("Delete");
 delete.addActionListener(e -> {
     Component[] components = rowPanel.getComponents();
     for(Component c : components){
         if(c instanceof JCheckBox){
             if(((JCheckBox)c).isSelected()){
             infoPanel.remove(rowPanel);
            }
         }
     }


     infoPanel.revalidate();
     infoPanel.repaint();


 });

共 (1) 个答案