Este artigo compartilha o código específico de swing jtextarea scrollbar e a escala de texto para sua referência. O conteúdo específico é o seguinte
Quando o JTexTarea com uma barra de rolagem é adicionado com um evento de rolagem, como o Scaling Ctrl+Wheel, o evento de rolagem adicionado e o evento de zoom de rolagem coincidem. Como fazer esses dois eventos ocorrerem simultaneamente sem interferir um com o outro? Ou seja, o texto não rola para cima e para baixo quando a barra de rolagem estiver aumentada e reduzida.
importar javax.swing.*; importar java.awt.*; importar java.awt.event.mouseAdapter; importar java.awt.event.mousewheelevent; importar java.awt.event.mouseweellistener; classe pública Jtawheel {jframe jf; Jtextarea jta; JScrollPane JSP; Syswheel de mouse wheellistener; public jtawheel () {jf = new jframe ("scrolling scaling"); jf.setbounds (500.500.600.400); JTA = novo JTexTarea (); jsp = novo jscrollPane (jta, jscrollpane.vertical_scrollbar_as_needed, jscrollpane.horizontal_scrollbar_as_needed); syswheel = jsp.getMouseWeellisteners () [0]; // Obtenha o evento de rolagem do sistema jsp.removeMousewheellistener (syswheel); // remove rolagem do sistema, adicione jsp.addmouseWeellistener (new Event ()); jf.add (JSP); jf.setDefaultCloseoperation (jframe.exit_on_close); jf.setVisible (true); } Evento de classe privada estende mouseAdApter {@Override public void mousewheelmoved (mousewheelevent e) {if (e.isControldwn ()) {// Quando a tecla Ctrl é pressionada, a rolagem é aumentar o zoom e sair da FONT f = JTA.getFont (); if (e.getwheelrotation () <0) {// Se a barra de rolagem estiver em frente, aumente o texto jta.setFont (new Font (f.getfamily (), f.getStyle (), f.getSize ()+1)); } else if (e.getwheelrotation ()> 0) {// A barra de rolagem encolhe o texto para trás jta.setFont (nova font (f.getfamily (), f.getStyle (), f.getSize ()-1)); }} else {// Quando Ctrl não é pressionado, ele rola para o sistema jsp.addmouseweellistener (Syswheel); syswheel.mousewheelmoved (e); // desencadeia o evento de rolagem do sistema. JSP.RemoveMouseWeellistener (Syswheel); }} public static void main (string [] args) {new jtawheel (); }}O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.