WEB开发网
开发学院WEB开发Jsp Java Swing中使用双击事件 阅读

Java Swing中使用双击事件

 2008-01-05 20:08:24 来源:WEB开发网   
核心提示:今天自己写个小程序碰到了这个问题,在网上搜了一下人家的思路,Java Swing中使用双击事件,整理了一下代码可以运行,感觉不错!直接在JBuilder中新建一个应用程序,下面我贴出在Frame1中的代码:import java.awt.*;import java.awt.event.*;import javax.sw
  今天自己写个小程序碰到了这个问题,在网上搜了一下人家的思路,整理了一下代码可以运行,感觉不错!

  直接在JBuilder中新建一个应用程序,至于具体步骤就不描述了,此代码没有main函数无法直接运行。下面我贴出在Frame1中的代码:




  import java.awt.*;
  import java.awt.event.*;
  import javax.swing.*;
  import com.borland.jbcl.layout.*;
  import java.util.Date;

public class Frame1
  extends JFrame {
  JPanel contentPane;
  BorderLayout borderLayout1 = new BorderLayout();
  JPanel jPanel1 = new JPanel();
  XYLayout xYLayout1 = new XYLayout();
  JScrollPane jScrollPane1 = new JScrollPane();
  JList jList1 = new JList();
  //初始化的JList中的数据
  String[] strData = {
  "One", "Tow", "Three"};
  //保存点击按钮的时间
  long clickTime = 0;

//ConstrUCt the frame
  public Frame1() {
  enableEvents(AWTEvent.WINDOW_EVENT_MASK);
  try {
  jbInit();
  }
  catch (Exception e) {
  e.PRintStackTrace();
  }
  }

//Component initialization
  private void jbInit() throws Exception {
  contentPane = (JPanel)this.getContentPane();
  contentPane.setLayout(borderLayout1);
  this.setSize(new Dimension(532, 468));
  this.setTitle("Frame Title");

jPanel1.setLayout(xYLayout1);
  jList1.addMouseListener(new Frame1_jList1_mouseAdapter(this));
  contentPane.add(jPanel1, BorderLayout.CENTER);
  jPanel1.add(jScrollPane1, new XYConstraints(18, 34, 209, 326));
  jScrollPane1.getViewport().add(jList1, null);
  jList1.setListData(strData);
  }





  //Overridden so we can exit when window is closed
  protected void processWindowEvent(WindowEvent e) {
  super.processWindowEvent(e);
  if (e.getID() == WindowEvent.WINDOW_CLOSING) {
  System.exit(0);
  }
  }

//具体实现按钮双击的功能的方法,  很简单的算法,不做解释了
  public boolean checkClickTime() {
  long nowTime = (new Date()).getTime();

if ( (nowTime - clickTime) < 300) {
  clickTime = nowTime;
  return true;
  }
  clickTime = nowTime;
  return false;

}

void jList1_mouseReleased(MouseEvent e) {
  //判定是否双击,是的话写你要实现的功能
  if (checkClickTime()) {
  System.out.println("Click Double");

}
  }
  }

class Frame1_jList1_mouseAdapter
  extends java.awt.event.MouseAdapter {
  Frame1 adaptee;

Frame1_jList1_mouseAdapter(Frame1 adaptee) {
  this.adaptee = adaptee;
  }

public void mouseReleased(MouseEvent e) {
  adaptee.jList1_mouseReleased(e);
  }
  }





Tags:Java Swing 使用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接