emaillisting.java
来自「java编程开发技巧与实例的编译测试通过的所有例程」· Java 代码 · 共 113 行
JAVA
113 行
import java.awt.event.*;
import javax.swing.event.*;
//import javax.swing.DefaultListModel;
//import javax.swing.JButton;
//import javax.swing.JList;
//import javax.swing.JPanel;
//import javax.swing.JTextField;
import javax.swing.*;
//import java.awt.*;
import java.awt.FlowLayout;
import java.awt.GridLayout;
public class EmailListing extends JFrame implements ActionListener, ListSelectionListener
{
private DefaultListModel data = new DefaultListModel();
private JList list = new JList(data);
private JTextField name = new JTextField();
private JTextField email = new JTextField();
private JButton add = new JButton("Add");
private JButton del = new JButton("Delete");
private class WindowCloser extends WindowAdapter
{
public void windowClosing(WindowEvent we)
{ System.exit(0); }
}
public EmailListing()
{
super("Email List");
JPanel buttons = new JPanel(new FlowLayout());
buttons.add(add);
buttons.add(del);
JPanel input = new JPanel(new GridLayout(2, 2));
input.add(new JLabel("Name: "));
input.add(name);
input.add(new JLabel("Email: "));
input.add(email);
JScrollPane scrollList = new JScrollPane(list);
getContentPane().add("North", new JPanelBox(input, "Address"));
getContentPane().add("Center", new JPanelBox(scrollList, "List"));
getContentPane().add("South", buttons);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.addListSelectionListener(this);
add.addActionListener(this);
del.addActionListener(this);
email.addActionListener(this);
addWindowListener(new WindowCloser());
validate();
pack();
setLocationRelativeTo(null);
setVisible(true);
}
public void handleDelete()
{
validate();
int index = -1;
index = list.getSelectedIndex();
if (index >= 0)
data.remove(list.getSelectedIndex());
System.err.println("delete failed !");
}
public void handleAdd()
{
if (!name.equals(""))
{
data.addElement(new Address(name.getText(), email.getText()));
name.setText("");
email.setText("");
name.requestFocus();
}
}
public void actionPerformed(ActionEvent ae)
{
if (ae.getSource() == del)
handleDelete();
else if ((ae.getSource() == add) || ae.getSource() == email)
handleAdd();
}
public void valueChanged(ListSelectionEvent lse)
{
Address address = (Address)data.get(list.getSelectedIndex());
name.setText(address.name);
email.setText(address.email);
}
public static void styleCtrl(String style)
{
try
{
String lf_wind = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
String lf_unix = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
String lf_java = "javax.swing.plaf.metal.MetalLookAndFeel";
if (style.equals("java"))
UIManager.setLookAndFeel(lf_java);
else if (style.equals("unix"))
UIManager.setLookAndFeel(lf_unix);
else if (style.equals("windows"))
UIManager.setLookAndFeel(lf_wind);
}
catch (Exception e)
{
System.err.println("Exception: " + e);
}
}
public static void main(String args[])
{
styleCtrl("unix");
EmailListing el = new EmailListing();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?