swing jtextArea滾動(dòng)條和文字縮放效果
本文實(shí)例為大家分享了swing jtextArea滾動(dòng)條和文字縮放的具體代碼,供大家參考,具體內(nèi)容如下
當(dāng)加了滾動(dòng)條的jtextArea添加滾動(dòng)事件比如縮放ctrl+wheel時(shí),添加的滾動(dòng)事件和滾動(dòng)縮放事件會(huì)重合,如何讓這兩個(gè)事件同時(shí)發(fā)生而不會(huì)相互干擾呢,也就是滾動(dòng)條放大縮小時(shí)文本不會(huì)發(fā)生上下滾動(dòng)。
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("滾動(dòng)縮放"); 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];//得到系統(tǒng)滾動(dòng)事件 jsp.removeMouseWheelListener(sysWheel);//移除系統(tǒng)滾動(dòng),需要時(shí)添加 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()){//當(dāng)ctrl鍵被按下,滾動(dòng)為放大縮小 Font f = jta.getFont(); if(e.getWheelRotation()<0){//如果滾動(dòng)條向前就放大文本 jta.setFont(new Font(f.getFamily(),f.getStyle(),f.getSize()+1)); }else if(e.getWheelRotation()>0){//滾動(dòng)條向后就縮小文本 jta.setFont(new Font(f.getFamily(),f.getStyle(),f.getSize()-1)); } }else{//當(dāng)ctrl沒(méi)有被按下,則為系統(tǒng)滾動(dòng) jsp.addMouseWheelListener(sysWheel); sysWheel.mouseWheelMoved(e);//觸發(fā)系統(tǒng)滾動(dòng)事件。 jsp.removeMouseWheelListener(sysWheel); } } } public static void main(String[] args){ new jtaWheel(); } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java switch 語(yǔ)句如何使用 String 參數(shù)
這篇文章主要介紹了Java switch 語(yǔ)句如何使用 String 參數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下2019-06-06Springboot關(guān)于自定義stater的yml無(wú)法提示問(wèn)題解決方案
這篇文章主要介紹了Springboot關(guān)于自定義stater的yml無(wú)法提示問(wèn)題及解決方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06springcloud整合到項(xiàng)目中無(wú)法啟動(dòng)報(bào)錯(cuò)Failed to start bean&n
這篇文章主要介紹了springcloud整合到項(xiàng)目中無(wú)法啟動(dòng)報(bào)錯(cuò)Failed to start bean 'eurekaAutoServiceRegistration'問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01idea創(chuàng)建的idea項(xiàng)目時(shí)springframework出現(xiàn)紅色的原因和解決方法
當(dāng)使用 IntelliJ IDEA 創(chuàng)建 Spring Framework 項(xiàng)目時(shí),springframework 出現(xiàn)紅色可能是因?yàn)橄嚓P(guān)的 Spring Framework 依賴沒(méi)有正確加載或項(xiàng)目的配置有問(wèn)題,本文給大家介紹了一些常見(jiàn)的原因和解決方法,需要的朋友可以參考下2023-09-09javaweb實(shí)戰(zhàn)之商城項(xiàng)目開(kāi)發(fā)(一)
這篇文章主要針對(duì)javaweb商城項(xiàng)目開(kāi)發(fā)進(jìn)行實(shí)戰(zhàn)演習(xí),對(duì)javaweb商城項(xiàng)目開(kāi)發(fā)進(jìn)行詳細(xì)分析,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-02-02Maven?dependency?plugin使用心得總結(jié)
這篇文章主要給大家介紹了關(guān)于Maven?dependency?plugin使用心得的相關(guān)資料,Maven是一個(gè)常用的Java build Manager,使用Maven可以很好的對(duì)Java Project的dependency進(jìn)行管理,需要的朋友可以參考下2023-10-10java使用GeoTools讀取shp文件并畫(huà)圖的操作代碼
GeoTools是ArcGis地圖與java對(duì)象的橋梁,今天通過(guò)本文給大家分享java使用GeoTools讀取shp文件并畫(huà)圖,文章通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-07-07