java - 动态添加 JTextFields 后将其删除

标签 java swing jlabel jtextfield

我的目标是通过单击 JLabel 同时删除两个 JTextField。

我创建了这样的文本字段:

public void mouseClicked(MouseEvent e) {


            inc++;
            txtName= new JTextField();
            txtNumber = new JTextField();
            txtName.setName("txtName"+inc);
            txtNumber.setName("txtNumber" + inc);

            pnlPanel.add(txtName);
            pnlPanel.add(txtNumber);

            if(count>0){
                x+=50;
                y+=50;

                txtName.setBounds(225,6+y, 182, 27);
                txtNumber.setBounds(35, 6+y, 182, 27);
                txtName.setName(tempBox+count);
                if(pnlTxtText.getComponentCount() >9){

                    pnlPanel.setPreferredSize(new Dimension(450+y,50+y));
                    pnlPanel.add(txtStudName);
                    pnlPanel.add(txtStudentNumber);

                    frmFrame.repaint();
                    scrpPanel.revalidate();
                }
            }
            frmFrame.repaint();
        }

    });

这是我删除文本字段的代码:

public void mouseClicked(MouseEvent e) {
    int countPlace= pnlPanel.getComponentCount();
    int countOfRemaining =countPlace;
    pnlPanel.remove(--countOfRemaining);
    frmFrame.revalidate();
    pnlPanel.remove(--countOfRemaining);
    frmFrame.revalidate();
}

});

它不是删除同一行上的txt字段,而是将其一一删除,我不希望这样。请帮我。谢谢。

To further understand my problem i posted a picture. Ever time I click a label, it should delete the last two fields but instead of doing that, it deletes txtfield from a different place

最佳答案

repaint()之前调用pnlPanel.revalidate()

并且不要使用 setBounds()。而是定义适当的 LayoutManager

关于java - 动态添加 JTextFields 后将其删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22348621/

相关文章:

java - JEdi​​torPane 未检测到 <a> 标签,而是将它们放入我的字符串中

java - 如何将变量从一个 jframe 传递到另一个 jframe

java - JLabel 未在 GUI 中显示文本

java - 显示下一个面板时更新 CardLayout 中的 JLable

java - 比较 Java 中现有的数据条目

java - 如何使用计时器重新绘制一些 Swing 组件

java - 分发库 Jar 时如何包含 scala 代码的 javadoc?

java - 用java解析xml文件并将结果转换为javabean

Java Swing 问题

swing - 如何即使在<html>文本中也禁用JLabel中的换行