接到了GUI相关的task,从来没看Java的我只好各种百度加看书了。这里介绍了 JScrollBar 的简单应用。    话不多说,直接上代码和效果图。

 import java.awt.*;
import java.awt.event.*;
import javax.swing.*; public class JScrollBarExample implements AdjustmentListener
{
JPanel jPanel = new JPanel();
/*
* 产生一个垂直滚动轴,默认滚动轴位置在10刻度的地方,extent值设10,minimum值为0, maximan值为100,因此滚动轴一开始在刻度10的位置上,
* 可滚动的区域大小为100-10-0=90刻度,滚动范围在0~90中。
*/
JScrollBar scrollBarVerticalDirection = new JScrollBar(JScrollBar.VERTICAL, 10, 10, 0, 100);
JScrollBar scrollBarHorizontalDirection = new JScrollBar();
JLabel jLable = new JLabel("刻度:", JLabel.CENTER);
JLabel jLableForResult = new JLabel("Result:", JLabel.CENTER);
JFrame jFrame = new JFrame("JScrollBarDemo");
JLabel label1 = new JLabel(new ImageIcon(".\\icons\\flower.jpg")); public JScrollBarExample()
{
jbInit();
} private void jbInit()
{
Container contentPane = jFrame.getContentPane();
jPanel.add(jLable);
// 设置拖曳滚动轴时,滚动轴刻度一次的变化量。
scrollBarVerticalDirection.setUnitIncrement(1);
// 设置当鼠标在滚动轴列上按一下是,滚动轴一次所跳的区块大小
scrollBarVerticalDirection.setBlockIncrement(10);
scrollBarVerticalDirection.addAdjustmentListener(this); contentPane.add(jPanel, BorderLayout.CENTER);
contentPane.add(scrollBarVerticalDirection, BorderLayout.EAST);
contentPane.add(jLable, BorderLayout.NORTH);
//contentPane.add(jLableForResult, BorderLayout.NORTH); jFrame.setSize(new Dimension(200, 200));
jFrame.setVisible(true);
jFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
} public void adjustmentValueChanged(AdjustmentEvent e) {
if ((JScrollBar) e.getSource() == scrollBarVerticalDirection)
{
jLable.setText("垂直刻度" + e.getValue());
if(e.getValue() >= 90)
{
//jLableForResult.setText("XXXX");
System.out.println("XXXXXXXXXXXXXX ");
}
}
} public static void main(String[] args)
{
new JScrollBarExample();
}
} 效果图:


参考资料:

erbo2008.iteye.com/blog/834862

http://download.oracle.com/technetwork/java/javase/6/docs/zh/api/javax/swing/JScrollBar.html#JScrollBar(int,%20int,%20int,%20int,%20int)

JScrollBar的更多相关文章

  1. JTabbedPane 和 JScrollBar 联合使用

    需求:实现一个JTabbed, 当下拉到Tabbed的底部时,自动加载下一次的数据. 下面是具体代码: import java.awt.*; import javax.swing.table.Defa ...

  2. java swing文件内容检索工具

    Java相关技术 - 文件内容检索工具 拿到一个几百M甚至上G的project让你去学习 有时候你会想知道某个关键词是在哪个文件里 比如:spring MVC配置的@RequestMapping,你从 ...

  3. JAVA 如何使JScrollPane中的JTextArea自动滚动到最后一行?

    1.要使JTextArea带有滚动条,需将JTextArea对象添加到JScrollPane中. JTextArea logArea = new JTextArea(15, 35); //创建JTex ...

  4. java模拟一个简单的QQ

    v 项目源码 https://github.com/hjzgg/java_QQ v 标题效果       package testFour; import java.awt.Color; import ...

  5. java中如何将JScrollPane的垂直滚动条自动移动到最下端

    JPanel QQP = new JPanel(); JScrollPane jsp = new JScrollPane(QQP); JScrollBar jsb = jsp.getVerticalS ...

  6. 【Swing】Swing初步认知

    AWT(abstract Window Toolkit) AWT是java发布的第一个图形界面库.AWT通过调用系统本地的库,来创建和显示控件. AWT 的组件都是使用的native code来编写的 ...

  7. java使用方法总结

    第一章 字符串 . 获取字符串的长度: length() . 判断字符串的前缀或后缀与已知字符串是否相同 前缀 startsWith(String s) .后缀 endsWith(String s) ...

  8. swing Event-Listener-Adapter 对照表

    Source Event Event Listener AbstractButton (JButton,JToggleButton, JCheckBox,JRadioButton ActionEven ...

  9. java GUI之事件处理

    常见事件及相应事件源类型 事件源 用户操作 事件 JButton 点击按钮 ActionEvent JTextField 在文本域按回车键 ActionEvent JCheckBox 点击复选框 Ac ...

随机推荐

  1. ruby不能识别中文的一个坑

    需要安装readline,并重装ruby,挂readline编译. 后续发现总出错,然后发现brew包依赖不全,按照提示,一个一个的安装依赖.安装后使用rvm重装ruby就ok了. 多亏能够有办法上g ...

  2. Redis集群(四):主从配置二

    一.本文目的        主要介绍redis主从模式下各种情况 二.说明 主从的基本概念:Master用于写入,Slaver用于读取,不能写入或修改,一个Master可以对应多个Slaver Mas ...

  3. SQL 优化tips

    1. 陷阱, 1)几个表进行join,然后过滤 等价于 2)分别过滤为小表后,再join? 并不完全.2)确实比1)效率高,但要注意一些NULL值过滤.否则2)得到的结果比1)多

  4. Leetcode 144. Binary Tree Preorder Traversal

    参考例子:[8,3,1,6,4,7,10,14,13] 8,3,1 和 6,4 说明从root开始,沿着左臂向下寻找leaf 的过程中应该逐个将node.val push入ans. class Sol ...

  5. 【BZOJ-1123】BLO Tarjan 点双连通分量

    1123: [POI2008]BLO Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 970  Solved: 408[Submit][Status][ ...

  6. JQuery slidebox实现图片轮播

    jQuery图片轮播(焦点图)插件jquery.slideBox,简单设置下参数就可以多个多种动画效果,左右,上下,速度,还可指定默认显示第N张,点击的按钮在现代浏览中可以实现圆形或圆角效果,插件代码 ...

  7. MQTT 消息 发布 订阅

    当连接向一个mqtt服务器时,clientId必须是唯一的.设置一样,导致client.setCallback总是走到 connectionLost回调.报connection reset.调查一天才 ...

  8. <<< javascript地址栏,代码

    不伤及服务器,可以用来测试项目效果 修改网页.不修改服务器端任何网页页面 javascript:document.body.contentEditable='true';document.design ...

  9. Samba服务器配置

    Samba服务器配置流程: (1)安装samba服务器先用#rpm -ivh samba-列出与samba有关的rpm包然后选择第一个包,用tab键补齐文件名 (2)创建新用户和其密码#useradd ...

  10. 如何学习Oracle

    如何学习Oracle?分清几个概念是关键     经常有一些Oracle的初学者问到以下几个问题,这里集中解答一下,希望对大家有帮助.   1.如果有一定的数据库基础,知道SQL是怎么回事,即使写不出 ...