Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
两个JTable可以一起滚动的Listener

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

説明:kinmuSrl,orderSrlはScrollPaneです。
以下はソースです。
 /**二つテープル一緒にスクロールのためのリスナー*/
 ChangeListener c1 = new ChangeListener(){
 boolean adjflg = false;
 public void stateChanged(ChangeEvent e){
  JViewport src = null;
  JViewport tgt = null;
  if(e.getSource()==kinmuSrl.getViewport()){
   src = kinmuSrl.getViewport();
   tgt = orderSrl.getViewport();
  }else if(e.getSource()==orderSrl.getViewport()){
   src = orderSrl.getViewport();
   tgt = kinmuSrl.getViewport();
  }
  if(adjflg || tgt==null || src==null) return;
  adjflg = true;
  Dimension dim1 = src.getViewSize();
  Dimension siz1 = src.getSize();
  Point     pnt1 = src.getViewPosition();
  Dimension dim2 = tgt.getViewSize();
  Dimension siz2 = tgt.getSize();
  Point     pnt2 = tgt.getViewPosition();
  double d;
  d = pnt1.getY()/(dim1.getHeight()-siz1.getHeight())*(dim2.getHeight()-siz2.getHeight());
  pnt1.y = (int)d;
  d = pnt1.getX()/(dim1.getWidth()-siz1.getWidth())*(dim2.getWidth()-siz2.getWidth());
  pnt1.x = (int)d;
  tgt.setViewPosition(pnt1);
  adjflg = false;
 }
};
使い方:
ScrollPaneにリスナーを付けます。
orderSrl.getViewport().addChangeListener(c1);
kinmuSrl.getViewport().addChangeListener(c1);



相关文章

相关软件