swing jtextArea滚动条和文字缩放效果

本文实例为大家分享了swing jtextArea滚动条和文字缩放的具体代码,供大家参考,具体内容如下

当加了滚动条的jtextArea添加滚动事件比如缩放ctrl+wheel时,添加的滚动事件和滚动缩放事件会重合,如何让这两个事件同时发生而不会相互干扰呢,也就是滚动条放大缩小时文本不会发生上下滚动。

import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseWheelEvent;
import java.awt.event.MouseWheelListener; 

public class jtaWheel {
  JFrame jf;
  JTextArea jta;
  JScrollPane jsp;
  MouseWheelListener sysWheel;
  public jtaWheel(){
    jf = new JFrame("滚动缩放");
    jf.setBounds(500,500,600,400);
    jta = new JTextArea();
    jsp = new JScrollPane(jta,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
        JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    sysWheel = jsp.getMouseWheelListeners()[0];//得到系统滚动事件
    jsp.removeMouseWheelListener(sysWheel);//移除系统滚动,需要时添加
    jsp.addMouseWheelListener(new event());
    jf.add(jsp);
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    jf.setVisible(true);
  }
  private class event extends MouseAdapter{
    @Override
    public void mouseWheelMoved(MouseWheelEvent e){
      if(e.isControlDown()){//当ctrl键被按下,滚动为放大缩小
        Font f = jta.getFont();
        if(e.getWheelRotation()<0){//如果滚动条向前就放大文本
          jta.setFont(new Font(f.getFamily(),f.getStyle(),f.getSize()+1));
        }else if(e.getWheelRotation()>0){//滚动条向后就缩小文本
          jta.setFont(new Font(f.getFamily(),f.getStyle(),f.getSize()-1));
        }
      }else{//当ctrl没有被按下,则为系统滚动
        jsp.addMouseWheelListener(sysWheel);
        sysWheel.mouseWheelMoved(e);//触发系统滚动事件。
        jsp.removeMouseWheelListener(sysWheel);
      }
    }
  }
  public static void main(String[] args){
    new jtaWheel();
  }
} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

您可能感兴趣的文章:

  • swing中Tree与滚动条用法实例分析
  • swing组件JScrollPane滚动条实例代码
(0)

相关推荐

  • swing组件JScrollPane滚动条实例代码

    本文研究的主要是swing组件之JScrollPane滚动条的实现代码示例,具体如下. 实例1 /* * 滚动条 */ import javax.swing.*; public class Demo1 extends JFrame{ JTextArea jta = null; JScrollPane jsp = null; public static void main(String[] args) { // TODO Auto-generated method stub Demo1 d = n

  • swing中Tree与滚动条用法实例分析

    本文实例讲述了swing中Tree与滚动条用法.分享给大家供大家参考.具体如下: import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.tree.*; public class test extends JApplet{ JTree tree; JTextField jtf; public void init(){ Container contentPane = getConten

  • swing jtextArea滚动条和文字缩放效果

    本文实例为大家分享了swing jtextArea滚动条和文字缩放的具体代码,供大家参考,具体内容如下 当加了滚动条的jtextArea添加滚动事件比如缩放ctrl+wheel时,添加的滚动事件和滚动缩放事件会重合,如何让这两个事件同时发生而不会相互干扰呢,也就是滚动条放大缩小时文本不会发生上下滚动. import javax.swing.*; import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event

  • JS实现IE状态栏文字缩放效果代码

    本文实例讲述了JS实现IE状态栏文字缩放效果代码.分享给大家供大家参考,具体如下: 这里演示状态栏文字缩放变化效果,同样基于JavaScript技术,虽然很不起眼的小特效,不过对学习JS来说,还是很有用的.本效果直接运行可能看不到效果,你可以复制代码保存成一个HTML文件,双击后运行可看到效果. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-ie-ztl-txt-style-demo/ 具体代码如下: <HTML> <HEAD&g

  • 原生JS控制多个滚动条同步跟随滚动效果

    在一些支持用 markdown 写文章的网站,后台写作页面,一般都是支持 markdown 即时预览的,也就是将整个页面分成两部分,左半部分是你输入的 markdown 文字,右半部分则即时输出对应的预览页面,例如下面就是 CSDN 后台写作页面的 markdown 即时预览效果: 本文不是阐述如何从 0 实现这种效果的(后续 很可能 会单出文章,),抛开其他,单看页面主体中左右两个容器元素,即 markdown 输入框元素和预览显示框元素 本文要探讨的是,当这两个容器元素的内容都超出了容器高度

  • 使用veloticy-ui生成文字动画效果

    前言 最近要实现一个类似文字波浪线的效果,使用了velocity-ui这个动画库,第一个感觉就是使用简单,代码量少,性能优异,在此简单介绍一下使用方法,并实现一个看上去不错的动画. 具体使用方法可以点击这里 基本使用 要使用 velocity-ui 需要先引入velocity,其中velocity可以是依赖jquery,也可以不依赖jquery,具体看一下下面就行了 //不依赖jquery,第一个参数为原生js的dom选择器 Velocity(document.getElementById("d

  • Java Swing JTextArea文本区域的实现示例

    1. 概述 官方JavaDocsApi: javax.swing.JTextArea JTextArea,文本区域.JTextArea 用来编辑多行的文本.JTextArea 除了允许多行编辑外,其他基本用法和 JTextField 基本一致. JTextArea 常用构造方法: /** * 参数说明: * text: 默认显示的文本 * rows: 默认可见的行数 * columns: 默认可见的列数 * * 默认由 rows 和 columns 决定首选大小 */ JTextArea() J

  • Three.js+React实现3D文字悬浮效果

    目录 背景 效果 实现 资源引入 DOM结构 设置状态 网格背景 场景初始化 创建材质 创建文字模型 创建几何体模型 鼠标事件监听 背景色切换 后期渲染 动画 缩放适配 双击全屏 总结 背景 在 Three.js Journey 课程示例中,提供了一个使用 Three.js 内置方法实现的 3D 文字悬浮效果的例子,本文使用 React + Three.js 技术栈,参照示例实现类似的效果.本文中涉及到的知识点主要包括:CSS 网格背景.MeshNormalMaterial 法向材质.FontL

  • Android Flutter实现五种酷炫文字动画效果详解

    目录 前言 波浪涌动效果 波浪线跳动文字组 彩虹动效 滚动广告牌效果 打字效果 其他效果 自定义效果 总结 前言 偶然逛国外博客,看到了一个介绍文字动画的库,进入 pub 一看,立马就爱上这个动画库了,几乎你能想到的文字动画效果它都有!现在正式给大家安利一下这个库:animated_text_kit.本篇我们介绍几个酷炫的效果,其他的效果大家可以自行查看官网文档使用. 波浪涌动效果 波浪涌动 上面的动画效果只需要下面几行代码,其中loadUntil用于控制波浪最终停留的高度,取值是0-1.0,如

  • jquery实现简单文字提示效果

    本文实例讲述了jquery实现简单文字提示效果.分享给大家供大家参考,具体如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>jquery实现简单文字提示</title> &l

  • iOS 屏幕解锁文字动画效果

    CAGradientLayer相信大家都比较熟悉,关于其如何使用,我就不在这里废话了,网上有很多介绍,想详细了解的话,可以去看看.我只简单说下如何利用CAGradientLayer制作屏幕解锁文字动画效果. 1.创建一个CAGradientLayer对象gradLayer,设置它的frame和label.bounds一样(这里要注意一下是Label的bounds不是frame); 2.这里我给gradLayer.colors一共设置了三个颜色值,首尾颜色透明度设置成0.3,中间的颜色值透明度保持

  • iOS实现知乎和途家导航栏渐变的文字动画效果

    效果图如下 分析如下: 1.导航栏一开始是隐藏的,随着scrollView滚动而渐变 2.导航栏左右两边的navigationItem是一直显示的 3.导航栏参考了途家app,使用了毛玻璃效果,背景是一张图片 4.下拉放大图片效果 5.title文字动画效果 通过简单分析,系统的导航栏实现以上效果有点困难,直接自定义一个假的导航栏更容易点 分布拆解实现以上效果 一.下拉放大header图片 - (void)viewDidLoad { [super viewDidLoad]; [self.view

随机推荐