AddContact.java
package phonebook;
import java.util.TreeSet;
import java.util.Comparator;
import java.lang.Comparable;
//import java.util.Collections;
import javax.swing.JFrame;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JOptionPane;
import java.util.ArrayList;
import java.util.Collections;
import javax.swing.DefaultListModel;
public class AddContact extends JFrame implements ActionListener
{
TreeSet<Contact> contactList;
JLabel name;
JLabel cno;
JTextField tcno;
JTextField tname;
JButton b1;
JButton b2;
class ContactSort implements Comparator<Contact>
{
public int compare(Contact c1,Contact c2)
{
return c1.getNo().compareTo(c2.getNo());
}
}
class NameSort implements Comparator<Contact>
{
public int compare(Contact c1,Contact c2)
{
return c1.getName().compareTo(c2.getName());
}
}
public void AddComponentContact()
{
contactList=new TreeSet<Contact>(new ContactSort());
name=new JLabel("Enter Name:");
tname=new JTextField(10);
cno=new JLabel("Enter Contact No.");
tcno=new JTextField(15);
b1=new JButton("ADD");
b1.addActionListener(this);
setLayout(new FlowLayout());
setTitle("Add Contact");
setSize(300,300);
setVisible(true);
add(name);
add(tname);
add(cno);
add(tcno);
add(b1);
}
public void addContactView()
{
}
public void actionPerformed(ActionEvent ae)
{
String name=tname.getText();
String cno=tcno.getText();
if(name.equals("") || (cno.equals("")))
{
JOptionPane.showMessageDialog(this,"Please fill the details properly","Warning Message",JOptionPane.WARNING_MESSAGE);
}
else
{
Contact c=new Contact();
c.setName(name);
c.setNo(cno);
contactList.add(c);
ArrayList<Contact>tempList=new ArrayList<Contact>(contactList);
Collections.sort(tempList,new NameSort());
DefaultListModel<Contact> dlm_contact=new DefaultListModel();
dlm_contact.removeAllElements();
for(Contact c1:tempList)
{
dlm_contact.addElement(c1);
}
tname.setText("");
tcno.setText("");
JOptionPane.showMessageDialog(this,"Contact has been added","Success Message",JOptionPane.INFORMATION_MESSAGE);
int status=JOptionPane.showConfirmDialog(this, "Do you want to add more contacts?","Confirmation",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE);
if(status == 0)
{
this.setVisible(true);
}
else
{
this.dispose();
}
}
}
//contactList=new TreeSet<Contact>(ContactSort());
}
contact.java
package phonebook;
public class Contact<X,Y>
{
public X name;
public Y contact;
public void setName(X name)
{
this.name=name;
}
public void setNo(Y contact)
{
this.contact=contact;
}
public X getName()
{
return name;
}
public Y getNo()
{
return contact;
}
}
Menu.java
package phonebook;
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Menu extends JFrame implements ActionListener
{
JButton b1;
JButton b2;
public void addComponenets()
{
b1=new JButton("Add Contact");
b2=new JButton("View Contact");
b1.addActionListener(this);
b2.addActionListener(this);
setLayout(new FlowLayout());
setTitle("Phone Book Menu");
setSize(300,300);
setVisible(true);
add(b1);
add(b2);
}
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource() == b1)
{
AddContact ac = new AddContact();
ac.AddComponentContact();
}
else if(ae.getSource() == b2)
{
AddContact ac = new AddContact();
ac.addContactView();
}
}
public static void main(String args[])
{
Menu m1=new Menu();
m1.addComponenets();
}
}
这是一个添加联系人并命名为App,我的compareTo()方法显示错误,而在其他桌面上运行正常... 错误是:::
错误:找不到符号 返回c1.getNo()。compareTo(c2.getNo());符号:方法compareTo(Object)位置:类Object C:\ Users \ Admin \ Documents \ NetBeansProjects \ PhoneBookApplication \ src \ phonebook \ AddContact.java:53: 错误:找不到符号 返回c1.getName()。compareTo(c2.getName());符号:方法compareTo(Object)位置:类Object注意: C:\ Users \ Admin \ Documents \ NetBeansProjects \ PhoneBookApplication \ src \ phonebook \ AddContact.java 使用未经检查或不安全的操作。注意:重新编译 -Xlint:无需检查详细信息。