本文實例為大家分享了swing jtextArea滾動條和文字縮放的具體代碼,供大家參考,具體內(nèi)容如下

創(chuàng)新互聯(lián)公司基于成都重慶香港及美國等地區(qū)分布式IDC機房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)達(dá)州托管服務(wù)器報價,主機托管價格性價比高,為金融證券行業(yè)服務(wù)器托管,ai人工智能服務(wù)器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業(yè)成都idc公司。
當(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();
}
} 以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
當(dāng)前名稱:swingjtextArea滾動條和文字縮放效果
URL地址:http://chinadenli.net/article26/gespjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、網(wǎng)站收錄、網(wǎng)站設(shè)計、App設(shè)計、微信小程序、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)