本文實(shí)例為大家分享了swing jtextArea滾動條和文字縮放的具體代碼,供大家參考,具體內(nèi)容如下
陸港ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!當(dāng)加了滾動條的jtextArea添加滾動事件比如縮放ctrl+wheel時,添加的滾動事件和滾動縮放事件會重合,如何讓這兩個事件同時發(fā)生而不會相互干擾呢,也就是滾動條放大縮小時文本不會發(fā)生上下滾動。
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];//得到系統(tǒng)滾動事件 jsp.removeMouseWheelListener(sysWheel);//移除系統(tǒng)滾動,需要時添加 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鍵被按下,滾動為放大縮小 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{//當(dāng)ctrl沒有被按下,則為系統(tǒng)滾動 jsp.addMouseWheelListener(sysWheel); sysWheel.mouseWheelMoved(e);//觸發(fā)系統(tǒng)滾動事件。 jsp.removeMouseWheelListener(sysWheel); } } } public static void main(String[] args){ new jtaWheel(); } }