您的位置:首页 > 其它

鼠标点击交换两个list的列表项

2009-02-23 13:11 260 查看
import java.awt.*;
import java.awt.event.*;

public class ListSwitch
{
Frame f = new Frame("鼠标点击交换两个list的列表项");
Panel p1 = new Panel();
Panel p2 = new Panel(new GridLayout(2,1,5,30));
Panel p3 = new Panel();
Button b1 = new Button(">>");
Button b2 = new Button("<<");
List l1 = new List(10);
List l2 = new List(10);

public static void main(String[] args)
{
ListSwitch ls = new ListSwitch();
ls.go();
}
void go()
{
f.setSize(500,400);
f.setLayout(new FlowLayout());
f.add(p1);
f.add(p2);
f.add(p3);
l1.add("desk");
l1.add("computer");
l1.add("printer");
l1.add("pen");
l2.add("blue");
l2.add("red");
l2.add("green");
l2.add("black");
p1.add(l1);
p2.add(b1);
p2.add(b2);
p3.add(l2);
b1.addActionListener(new ButtonHandler(l1,l2));
b2.addActionListener(new ButtonHandler(l2,l1));
l1.addMouseListener(new MouseHandler(l1,l2));
l2.addMouseListener(new MouseHandler(l2,l1));
f.addWindowListener(new WindowHandler());
f.setVisible(true);
}

class ButtonHandler implements ActionListener
{
List laa,lbb;
ButtonHandler(List la,List lb)
{
laa = la;
lbb = lb;
}
public void actionPerformed(ActionEvent e)
{
String s;
s = laa.getItem(laa.getSelectedIndex());
laa.remove(laa.getSelectedIndex());
lbb.add(s);
}
}
class MouseHandler extends MouseAdapter
{
List laa,lbb;
MouseHandler(List la,List lb)
{
laa = la;
lbb = lb;
}
public void mouseClicked(MouseEvent e)
{
if (e.getClickCount() == 2)
{
String s;
s = laa.getItem(laa.getSelectedIndex());
laa.remove(laa.getSelectedIndex());
lbb.add(s);
}
}
}
class WindowHandler extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(1);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐