Java 如何在标签单击上动态添加和删除JTextField
我有两个标签,一个用于添加,一个用于删除JtextFields。我可以添加jTextFields并删除它们,但我的目标是删除标签单击上的textfields 下面的图片显示了我的目标,每次单击“+”标签时,都会在其下方创建一个文本字段。当我单击“-”标签时,同一行上的文本字段将被删除。 我应该怎么做才能做到这一点 这是我的代码:Java 如何在标签单击上动态添加和删除JTextField,java,swing,jlabel,jtextfield,Java,Swing,Jlabel,Jtextfield,我有两个标签,一个用于添加,一个用于删除JtextFields。我可以添加jTextFields并删除它们,但我的目标是删除标签单击上的textfields 下面的图片显示了我的目标,每次单击“+”标签时,都会在其下方创建一个文本字段。当我单击“-”标签时,同一行上的文本字段将被删除。 我应该怎么做才能做到这一点 这是我的代码: lblRemoveTf = new JLabel(); lblRemoveTf.addMouseListener(new MouseAdapter() {
lblRemoveTf = new JLabel();
lblRemoveTf.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
for(JTextField myTxt1 : myListOfTxtNum){
eto1 = myTxt1;
}
myListOfTxtNum.remove(eto1);
pnlTxtTxt.remove(pnlTxtTxt.getComponentAt(eto1.getLocation()));
frmGM.revalidate();
frmGM.repaint();
for(JTextField myTxt : myListOfTxtName){
eto = myTxt;
}
myListOfTxtName.remove(eto);
pnlTxtTxt.remove(pnlTxtTxt.getComponentAt(eto.getLocation()));
x-=50;
y-=50;
frmGM.revalidate();
frmGM.repaint();
}
});
lblRemoveTf.setBounds(450,6, 125, 25);
pnlTxtTxt.add(lblRemoveTf);
lblRemoveTf.setIcon(new ImageIcon(GroupManagement.class.getResource("/app/resources/minussmall.png")));
lblAddNewTF = new JLabel();
lblAddNewTF.setBounds(420, 6, 38, 25);
lblAddNewTF.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
count++;
txtStudentName= new JTextField();
txtStudentNumber = new JTextField();
myListOfTxtName.add(txtStudentName);
myListOfTxtNum.add(txtStudentNumber);
txtStudentName.setName("txtStudentname"+count);
txtStudentNumber.setName("txtStudentNumber" + count);
pnlTxtTxt.add(txtStudentName);
pnlTxtTxt.add(txtStudentNumber);
doContainTheListsOfTxt(txtStudentName, txtStudentNumber);
if(count>0){
x+=50;
y+=50;
txtStudentName.setBounds(225,6+y, 182, 27);
txtStudentNumber.setBounds(35, 6+y, 182, 27);
txtStudentName.setName(tempBox+count);
if(pnlTxtTxt.getComponentCount() >9){
pnlTxtTxt.setPreferredSize(new Dimension(450+y,50+y));
pnlTxtTxt.add(txtStudName);
pnlTxtTxt.add(txtStudentNumber);
frmGM.repaint();
scrpTxtTxt.revalidate();
}
}
frmGM.repaint();
}
});
lblAddNewTF.setIcon(new ImageIcon(GroupManagement.class.getResource("/app/resources/plussmall.png")));
pnlTxtTxt.add(lblAddNewTF);
这就是我想要拍的照片
setboordpainted(false)
方法,按钮看起来就像一个标签
此外,您可以使用JButton,而不是使用JLabel作为按钮。您只需使用
setbOrderPaint(false)
方法,按钮就会看起来像一个标签。+
和-
是标签吗?为什么标签必须像命令按钮一样工作?你真的希望有魔法;)对这是不可能的吗?我在第一行就做了,我只是不知道如何在后续的标签上做。当有像Swing
,多个类
,控制元素
,+
和-
这样的魔杖是标签时,什么是不可能的?为什么标签必须像命令按钮一样工作?你真的希望有魔法;)对这不可能吗?我在第一行就这么做了,我只是不知道如何在后续的标签上这么做。当有像Swing
,多类
,控制元素这样的魔杖时,什么是不可能的?