美文网首页
Java技术文章 JavaSE Swing列表框双击事件的处理Ⅱ

Java技术文章 JavaSE Swing列表框双击事件的处理Ⅱ

作者: Spring框架9420 | 来源:发表于2019-01-08 19:38 被阅读7次

这个程序首先创建一个DefaultListModel类的继承类,然后将其实例化成两个不同的列表框,当双击左边的列表框中的数据时,就会在右边添加相应的数据,反之亦然。具体代码如下:

public class BWF extends MouseAdapter{

JList<String> list1=null;

JList<String> list2=null;

DefaultListModel<String> mode1=null;

DefaultListModel<String> mode2=null;

String[] s={"Java","C","C#","Hibernate"};

public BWF(){

JFrame jf=new JFrame("博为峰教育");

Container contentPane=jf.getContentPane();

contentPane.setLayout(new GridLayout(1, 2));

mode1=new DataModel(1);

list1=new JList<String>(mode1);

list1.setBorder(BorderFactory.createTitledBorder("图书种类!"));

list1.addMouseListener(this);

mode2=new DataModel(2);

list2=new JList<String>(mode2);

list2.setBorder(BorderFactory.createTitledBorder("您选择的书:"));

list2.addMouseListener(this);

contentPane.add(new JScrollPane(list1));

contentPane.add(new JScrollPane(list2));

jf.pack();

jf.setVisible(true);

jf.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

}

public static void main(String[] args) {

new BWF();

}

//鼠标双击事件

public void mouseClicked(java.awt.event.MouseEvent e) {

int index;

if(e.getSource()==list1){

if(e.getClickCount()==2){

index=list1.locationToIndex(e.getPoint());

String tmp=(String)mode1.getElementAt(index);

mode2.addElement(tmp);

list2.setModel(mode2);

mode1.removeElementAt(index);

list1.setModel(mode1);

}

}

if(e.getSource()==list2){

if(e.getClickCount()==2){

index=list2.locationToIndex(e.getPoint());

String tmp=(String)mode2.getElementAt(index);

mode1.addElement(tmp);

list1.setModel(mode1);

mode2.removeElementAt(index);

list2.setModel(mode2);

}

}

}

class DataModel extends DefaultListModel<String>{

 DataModel(int flag) {

 if(flag==1){

 for(int i=0;i<s.length;i++){

 addElement(s[i]);

 }

 }

}

}

}

如果想学习Java工程化、高性能及分布式、深入浅出。性能调优、Spring,MyBatis,Netty源码分析的朋友可以加我的Java进阶群:733234221群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频免费分享给大家

相关文章

网友评论

      本文标题:Java技术文章 JavaSE Swing列表框双击事件的处理Ⅱ

      本文链接:https://www.haomeiwen.com/subject/xtgbrqtx.html