Cet article partage le code spécifique de swing jTextArea Scrollbar et l'échelle de texte pour votre référence. Le contenu spécifique est le suivant
Lorsque la JTextArea avec une barre de défilement est ajoutée avec un événement de défilement tel que la mise à l'échelle de la roue CTRL +, l'événement de défilement et l'événement de zoom de défilement ajouté coïncident. Comment faire en sorte que ces deux événements se produisent simultanément sans interférer les uns avec les autres? Autrement dit, le texte ne fait pas défiler de haut en bas lorsque la barre de défilement est agrandie et réduite.
importer javax.swing. *; import java.awt. *; Importer java.awt.event.mousEadapter; Importer java.awt.event.mousewheelEvent; Importer java.awt.event.mousewheelListener; classe publique jtawheel {jframe jf; JTextArea JTA; Jscrollpane jsp; Mousewheellistener Syswheel; public jtawheel () {jf = new JFrame ("Scroll Scaling"); 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.getmousewheellistenners () [0]; // Obtenez l'événement de défilement du système jsp.reMoveMouseWheelListener (syswheel); // supprimer le défilement du système, ajouter jsp.addmousewheelListener (nouvel événement ()); jf.add (jsp); jf.setDefaultCloseOperation (jframe.exit_on_close); jf.setVisible (true); } L'événement de classe privée étend MouseAdapter {@Override public void muousewheelmoved (souris weelEvent e) {if (e.isConTroldown ()) {// Lorsque la touche Ctrl est enfoncée, le défilement est de zoomer et de sortir la police f = jta.getfont (); if (e.getwheelrotation () <0) {// Si la barre de défilement est en avant, agrandissez le texte jta.setfont (nouvelle police (f.getFamily (), f.getStyle (), f.getSize () + 1)); } else if (e.getwheelrotation ()> 0) {// La barre de défilement rétrécit le texte vers l'arrière jta.setfont (nouvelle police (f.getFamily (), f.getStyle (), f.getSize () - 1)); }} else {// Lorsque Ctrl n'est pas enfoncé, il défile pour le système jsp.addmousewheelListener (syswheel); Syswheel.MousewheelMoved (e); // déclenche l'événement de défilement du système. jsp.removemousewheellistener (Syswheel); }} public static void main (String [] args) {new JTAWHEEL (); }}Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.