import java.awt.EventQueue;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import java.awt.BorderLayout;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JButton;
import javax.swing.JTextArea;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JTable;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import javax.swing.JScrollPane;
import javax.swing.ScrollPaneConstants;
public class mapLinkToMess {
//<声明及控件>
private JFrame frame;
private JTextField tf_search;
private JTextField tf_name;
private JTextField tf_phone;
private JButton bt_search;
private JButton bt_add;
private JTextArea ta_result;
private HashMap<String, String> words = new HashMap<String,String>();
private JTable tabl_show;
private JTable table_show;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
mapLinkToMess window = new mapLinkToMess();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public mapLinkToMess() {
initialize();
mapMessinit();
setTable();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 525, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
frame.setTitle("文豪低语");
tf_name = new JTextField();
tf_name.setBounds(50, 26, 143, 26);
frame.getContentPane().add(tf_name);
tf_name.setColumns(10);
JLabel lblNewLabel = new JLabel("name");
lblNewLabel.setBounds(15, 31, 54, 15);
frame.getContentPane().add(lblNewLabel);
tf_phone = new JTextField();
tf_phone.setColumns(10);
tf_phone.setBounds(263, 26, 143, 26);
frame.getContentPane().add(tf_phone);
JLabel lblPhonenum = new JLabel("phoneNum");
lblPhonenum.setBounds(203, 31, 54, 15);
frame.getContentPane().add(lblPhonenum);
bt_add = new JButton("add");
bt_add.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent arg0) {
mapMessInput();
}
});
bt_add.setBounds(416, 27, 93, 23);
frame.getContentPane().add(bt_add);
tf_search = new JTextField();
tf_search.setColumns(10);
tf_search.setBounds(15, 78, 224, 26);
frame.getContentPane().add(tf_search);
bt_search = new JButton("search");
bt_search.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
search();
}
});
bt_search.setBounds(266, 79, 93, 23);
frame.getContentPane().add(bt_search);
ta_result = new JTextArea();
ta_result.setBounds(15, 116, 346, 135);
frame.getContentPane().add(ta_result);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
scrollPane.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
setTable();
}
});
scrollPane.setBounds(406, 76, 93, 175);
frame.getContentPane().add(scrollPane);
table_show = new JTable();
scrollPane.setColumnHeaderView(table_show);
tabl_show = new JTable();
tabl_show.addMouseListener(new MouseAdapter() {
@Override
public void mouseEntered(MouseEvent e) {
setTable();
}
});
tabl_show.setBounds(406, 83, 93, 168);
frame.getContentPane().add(tabl_show);
}
<主要函数>
protected void setTable()
{
//DefaultTableModel model=(DefaultTableModel)tabl_show.getModel();
DefaultTableModel model = new DefaultTableModel(0, 0);
model.setColumnIdentifiers(new Object[]{"name","message"});
Set<String>names=words.keySet();
for(Iterator<String>iterator=names.iterator();iterator.hasNext();)
{
String name=iterator.next();
model.addRow(new Object[]{name,words.get(name)});
}
table_show.setModel(model);
}
protected void mapMessinit()
{
words.put("cat", "13124235325");
words.put("dog", "21315345345");
words.put("bird","31213131313");
words.put("ribbit", "4375634423");
}
protected void mapMessInput()
{
String name=tf_name.getText();
String phone=tf_phone.getText();
words.put(name, phone);
}
protected void search()
{
String name=tf_search.getText();
if(name.isEmpty())
{
// ta_result.show
JOptionPane.showMessageDialog(null, "alert", "input is null",JOptionPane.WARNING_MESSAGE);
return;
}
String mes=words.get(name);
if(mes==null)
{
JOptionPane.showMessageDialog(null, "alert", "don't have any message about it",JOptionPane.WARNING_MESSAGE);
return;
}
else
{
ta_result.setText(mes);
}
}
}