import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
public class Phonebook extends JFrame{
JPanel contentPane;
JTable table;
public Phonebook(){//构造fangf
addWindowListener(new WindowAdapter(){
public void windowActivated(WindowEvent e){
do_this_windowActivated(e);
}
});
//setTitle("我的电话簿");
setTitle("\u6211\u7684\u7535\u8BDD\u7C3F");//这两行代码实现效果一样,设置标题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100,100,450,250);
contentPane=new JPanel();//创建面板
contentPane.setBorder(new EmptyBorder(5,5,5,5));
contentPane.setLayout(new BorderLayout(0,0));
setContentPane(contentPane);
JScrollPane scrollPane=new JScrollPane();//创建滚动条面板
contentPane.add(scrollPane,BorderLayout.CENTER);//将滚动条面板添加到容器放在中间
table=new JTable();//创建表格标签
scrollPane.setViewportView(table);//将表格添加到滚动条面板
}
protected void do_this_windowActivated(WindowEvent e){
Map<String,String>directory=new HashMap<String,String>();//创建HashMap集合
directory.put("阿一","2646464....");//向集合中添加元素
directory.put("阿二","2646464....");
directory.put("阿仨","2646464....");
directory.put("阿四","2646464....");
directory.put("阿五","2646464....");
directory.put("阿六","2646464....");
directory.put("阿七","2646464....");
directory.put("阿八","2646464....");
directory.put("阿九","2646464....");
directory.put("阿十","2646464....");
directory.put("阿十一","2646464....");
directory.put("阿十二","2646464....");
DefaultTableModel model=(DefaultTableModel)table.getModel();//获得表格模型
model.setColumnIdentifiers(new Object[]{"姓名","手机"});//设置表头
Set<String>names=directory.keySet();//获得键集合
for(Iterator<String>it=names.iterator();it.hasNext();){//利用迭代器遍历
String name=it.next();
model.addRow(new Object[]{name,directory.get(name)});//向表格中增加元素
}
table.setModel(model);//更新表格模型
}
public static void main(String[] args) {
try{
UIManager
.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
} catch (Throwable e) {
e.printStackTrace();
}
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Phonebook frame = new Phonebook();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
import java.awt.EventQueue;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.UIManager;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
public class Phonebook extends JFrame{
JPanel contentPane;
JTable table;
public Phonebook(){//构造fangf
addWindowListener(new WindowAdapter(){
public void windowActivated(WindowEvent e){
do_this_windowActivated(e);
}
});
//setTitle("我的电话簿");
setTitle("\u6211\u7684\u7535\u8BDD\u7C3F");//这两行代码实现效果一样,设置标题
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100,100,450,250);
contentPane=new JPanel();//创建面板
contentPane.setBorder(new EmptyBorder(5,5,5,5));
contentPane.setLayout(new BorderLayout(0,0));
setContentPane(contentPane);
JScrollPane scrollPane=new JScrollPane();//创建滚动条面板
contentPane.add(scrollPane,BorderLayout.CENTER);//将滚动条面板添加到容器放在中间
table=new JTable();//创建表格标签
scrollPane.setViewportView(table);//将表格添加到滚动条面板
}
protected void do_this_windowActivated(WindowEvent e){
Map<String,String>directory=new HashMap<String,String>();//创建HashMap集合
directory.put("阿一","2646464....");//向集合中添加元素
directory.put("阿二","2646464....");
directory.put("阿仨","2646464....");
directory.put("阿四","2646464....");
directory.put("阿五","2646464....");
directory.put("阿六","2646464....");
directory.put("阿七","2646464....");
directory.put("阿八","2646464....");
directory.put("阿九","2646464....");
directory.put("阿十","2646464....");
directory.put("阿十一","2646464....");
directory.put("阿十二","2646464....");
DefaultTableModel model=(DefaultTableModel)table.getModel();//获得表格模型
model.setColumnIdentifiers(new Object[]{"姓名","手机"});//设置表头
Set<String>names=directory.keySet();//获得键集合
for(Iterator<String>it=names.iterator();it.hasNext();){//利用迭代器遍历
String name=it.next();
model.addRow(new Object[]{name,directory.get(name)});//向表格中增加元素
}
table.setModel(model);//更新表格模型
}
public static void main(String[] args) {
try{
UIManager
.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
} catch (Throwable e) {
e.printStackTrace();
}
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Phonebook frame = new Phonebook();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}