如何解决如何在java中创建联系表单删除按钮以删除所选元素?
我是一个初学者,正在努力在 IntelliJ 上的 Java 联系表单项目中创建一个按钮。我试图实现这一点:单击按钮时,名称将从左侧列表中删除,并且所有文本字段都被清除。如果您决定提供一些指导,我将非常感谢您的帮助。提前谢谢你:)
package com.company;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
public class Screen extends JFrame{
private JPanel panelTop;
private JPanel PanelLeft;
private JPanel PanelRight;
private JList listPeople;
private JButton buttonNew;
private JButton buttonSave;
private JTextField textName;
private JTextField textEmail;
private JTextField textPhone;
private JTextField textAddress;
private JLabel labelAge;
private JTextField textDateOfBirth;
private JPanel panelMain;
private JButton deleteButton;
private ArrayList<Person> people;
private DefaultListModel listPeopleModel;
Screen() {
super("My contacts project"); //calling a parent class for ex dog (subclass) and animal (superclass); Screen=subclass
this.setContentPane(this.panelMain); //
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //closes the application frame; application not killed
this.pack(); //sets the frame so that all its contents are at or above their preferred sizes alternatives:setSize and setBound
people = new ArrayList<Person>();
listPeopleModel = new DefaultListModel();
listPeople.setModel(listPeopleModel);
buttonSave.setEnabled(false);
buttonNew.addActionListener(new ActionListener() { //activates the click
@Override
public void actionPerformed(ActionEvent e) { //activates the click+`
Person p = new Person(
textName.getText(),textEmail.getText(),textPhone.getText(),textAddress.getText(),textDateOfBirth.getText()
);
people.add(p);
refreshPeopleList();
}
});
buttonSave.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int personNumber = listPeople.getSelectedIndex();
if (personNumber >=0){
Person p = people.get(personNumber);
p.setName(textName.getText());
p.setEmail(textEmail.getText());
p.setPhoneNumber(textPhone.getText());
p.setAddress(textAddress.getText());
p.setDateOfBirth(textDateOfBirth.getText());
refreshPeopleList();
}
}
});
listPeople.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent e) {
int personNumber = listPeople.getSelectedIndex();
if(personNumber >= 0) {
Person p = people.get(personNumber);
textName.setText(p.getName());
textEmail.setText(p.getEmail());
textPhone.setText(p.getPhoneNumber());
textAddress.setText(p. getAddress());
textDateOfBirth.setText(p.getDateOfBirth().format(DateTimeFormatter.ofPattern("dd/MM/YYYY")));
labelAge.setText(Integer.toString(p.getAge()) + "years");
buttonSave.setEnabled(true);
} else {
buttonSave.setEnabled(false);
}
}
});
deleteButton.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
super.keyPressed(e);
int personNumber = listPeople.getSelectedIndex();
if(personNumber >= 0){
Person p = people.get(personNumber);
p.setPhoneNumber("");
refreshPeopleList();
}
}
});
}
public void refreshPeopleList() {
listPeopleModel.removeAllElements();
for (Person p : people) {
System.out.println("Adding Person to list" + p.getName());
listPeopleModel.addElement(p.getName());
}
}
public void addPerson(Person p) {
people.add(p);
refreshPeopleList();
}
public static void main(String[] args){
Screen screen = new Screen();
screen.setVisible(true);
Person pete = new Person( "Pete","pete@gmail.com","555 001","balam","22/02/1999" );
Person shay = new Person( "shay","shay@gmail.com","111 001","balaam","22/02/1998");
Person lori = new Person( "lori","lori@gmail.com","222 001","balaaam","22/02/1997");
Person thai = new Person( "thai","thai@gmail.com","333 001","22/02/1996");
Person mel = new Person( "mel","mel@gmail.com","444 001","bylam","22/02/1995");
Person Mantas = new Person( "Mantas","mantaskietas@gmail.com","999 111","bylammmm","09/03/2007");
screen.addPerson(pete);
screen.addPerson(shay);
screen.addPerson(lori);
screen.addPerson(thai);
screen.addPerson(mel);
screen.addPerson(Mantas);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。