网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > JAVA > 其它技术 > 滚动区域的例子  

滚动区域的例子

2003-08-01  作者:BitsCN整理  来源:中国网管联盟  点评 投稿 收藏


  程序代码:
  import javax.swing.*;
  import java.awt.*;
  import java.awt.event.*;
  public class ViewportTest extends JPanel implements ActionListener
  {
  private JViewport viewport; /* 视区类, 滚动区域是建立在可见视区滚动的基础上 */
  private JPanel scrollPane; /* 滚动容器, 存放所有(包括当前不可见)构件 */
  private JButton left,right; /* 左右按钮, 完成左右滚动视区的功能 */
  
  public ViewportTest() {
  viewport = new JViewport();
  setLayout(new BorderLayout());
  
  left = new JButton("<");
  right = new JButton(">");
  left.addActionListener(this);
  right.addActionListener(this); // 设置左右按钮的事件监听
  
  scrollPane = new JPanel(new FlowLayout());
  for(int i=0; i<10; i++)
  scrollPane.add(new JButton("btn"+String.valueOf(i) )); // 假设有10个按钮, 只能看到其中几个
  viewport.add(scrollPane,null);
  add(left,BorderLayout.WEST);
  add(right,BorderLayout.EAST);
  add(viewport, BorderLayout.CENTER); 网管网www_bitscn_com
  }
  
  public void actionPerformed(ActionEvent e)
  {
  Rectangle curRect = viewport.getVisibleRect(); // 取得当前视区范围
  if(e.getSource().equals(left))
  curRect.setLocation(curRect.getLocation().x - 10, curRect.getLocation().y); // 设置范围移动
  if(e.getSource().equals(right))
  curRect.setLocation(curRect.getLocation().x + 10, curRect.getLocation().y);
  viewport.scrollRectToVisible(curRect); // 更新视区
  }
  
  /*- TEST CODE -*/
  public static void main(String[] args)
  {
  JFrame frame = new JFrame();
  frame.setSize(200,60);
  frame.getContentPane().setLayout(new BorderLayout());
  frame.getContentPane().add(new ViewportTest(),BorderLayout.CENTER);
  frame.show();
  }
  }
  
  
TAGs例子   区域   滚动   right   curRect.getLocation   左右   newJButton    
 上一篇:一个奇怪的问题   下一篇:java api混排算法
相关文章列表
滚动区域的例子 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
1.深入Java调试体系: 第1部分,JPDA体系概
2.Apusic上用JavaMail发邮件
3.优秀Java程序员必须了解的GC工作原理
4.Java 6 RowSet 使用完全剖析
5.java 实现压缩与解压缩ZIP
6.Java 6中的性能优化
7.Java标准类库提供的容器总结
8.Java SE 6 新特性: Instrumentation 新功
9.面向Java开发人员的Scala指南: 实现继承
10.超越XML和JSON:YAML,Java开发人员的新
最新推荐文章:
1.J2SE实现windows读取网卡的物理地址
2.使用Jetty和DWR创建伸缩性Comet程序
3.经验分享:我的20天项目经历
4.实现Java跨平台运行的十二个注意事项
5.成功的必要条件:开源思想推动创新
6.100行Java代码构建一个线程池
7.用Stripes做Java Web开发
8.j2me创意--Wap浏览器的源代码
9.使用Hashtable对字符串进行碰撞
10.定制 bugzilla 进行项目管理
网管论坛交流:
·大家来开心一下吧---看了会很开心的东西-
·中国人不可不知道的知识
·@@小鹏◎◎小鹏同志与某位女明星亲密接触
·◎◎小鹏◎◎发现不明生物,居然正在交配
·[图文]^^^版主是什么?????
·泡论坛的女人是好女人
·做个“水性杨花”的女人
·献给mm俱乐部的所有mm
·深圳一集团企业电脑基础应用培训教程
·■■■■十一遊玩照■■■■■