jlist.java

来自「用JAVA 编写的一个菜单程序 实现了一些基本计算和信息的录入」· Java 代码 · 共 67 行

JAVA
67 行
字号
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class Jlist extends MouseAdapter{
  JList list1=null;	
  JList list2=null;	
  DefaultListModel mode1=null;
  DefaultListModel mode2=null;
  String[] s = {"谢树人","Allen","","鲁迅","韩寒","李清照","李白"};
  
  public Jlist(){
  	JFrame f=new JFrame("JList");
  	Container contentPane=f.getContentPane();
  	contentPane.setLayout(new GridLayout(1,2));
  	
  	mode1=new DataModel(1);
  	list1=new JList(mode1);
  	list1.setBorder(BorderFactory.createTitledBorder("作者姓名"));
  	list1.addMouseListener(this);
  	
  	mode2=new DataModel(2);
  	list2=new JList(mode2);
  	list2.setBorder(BorderFactory.createTitledBorder(""));
  	list2.addMouseListener(this);
  	
  	contentPane.add(new JScrollPane(list1));
  	contentPane.add(new JScrollPane(list2));
   f.pack();
   f.show();
   f.addWindowListener(new WindowAdapter(){
      public void windowClosing(WindowEvent e){
      }
   });    
  }
  public void mouseClicked(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{
  	  DataModel(int flag){
  	  	  if (flag==1){
  	  	  	 for (int i=0;i<s.length;i++)  addElement(s[i]);	  	  	  	 
  	  	  }
  	  }
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?