이 기사에서는 Swing JtextArea Scrollbar의 특정 코드와 참조를위한 텍스트 스케일링을 공유합니다. 특정 내용은 다음과 같습니다
스크롤 막대가있는 jtextArea에 CTRL+휠 스케일링과 같은 스크롤 이벤트가 추가되면 추가 된 스크롤 이벤트 및 스크롤 줌 이벤트가 일치합니다. 이 두 이벤트가 서로 방해하지 않고 동시에 발생하는 방법은 무엇입니까? 즉, 스크롤 막대가 확대되고 축소 될 때 텍스트가 위아래로 스크롤되지 않습니다.
javax.swing을 가져옵니다.*; java.awt.*; import java.awt.event.mouseadapter; java.awt.event.mousewheelevent import; java.awt.event.mousewheellistener import; 공개 클래스 jtawheel {jframe jf; JtextArea JTA; jscrollpane JSP; Mousewheellistener Sywheel; public jtawheel () {jf = new Jframe ( "스크롤 스케일링"); JF. 세트 바운드 (500,500,600,400); JTA = 새로운 jtextArea (); jsp = new JSCrollPane (JTA, JSCrollPane.Vertical_Scrollbar_as_seeded, jscrollpane.horizontal_scrollbar_as_needed); syswheel = jsp.getmousewheellisteners () [0]; // 시스템 스크롤 이벤트 jsp.removemousewheellistener (sywheel); // 시스템 스크롤 제거, jsp.addmousewheellistener (new event ()); jf.add (jsp); JF.SetDefaultCloseOperation (jframe.exit_on_close); jf.set -Visible (true); } 개인 클래스 이벤트 확장 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) {// 스크롤 막대는 텍스트를 거꾸로 줄어 듭니다. }} else {// ctrl이 누르지 않으면 시스템 jsp.addmousewheellistener (sywheel)를 스크롤합니다. syswheel.mousewheelmoved (e); // 시스템 스크롤 이벤트를 트리거합니다. jsp.removemousewheellistener (sywheel); }} public static void main (String [] args) {new Jtawheel (); }}위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.