本文實(shí)例為大家分享了swing jtextArea滾動(dòng)條和文字縮放的具體代碼,供大家參考,具體內(nèi)容如下
當(dāng)加了滾動(dòng)條的jtextArea添加滾動(dòng)事件比如縮放ctrl+wheel時(shí),添加的滾動(dòng)事件和滾動(dòng)縮放事件會重合,如何讓這兩個(gè)事件同時(shí)發(fā)生而不會相互干擾呢,也就是滾動(dòng)條放大縮小時(shí)文本不會發(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沒有被按下,則為系統(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(); } }
標(biāo)題名稱:swingjtextArea滾動(dòng)條和文字縮放效果-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://jinyejixie.com/article8/ccjjip.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、品牌網(wǎng)站制作、靜態(tài)網(wǎng)站、自適應(yīng)網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容