English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
L'article suivant partage avec vous le code spécifique de la barre de défilement et du zoom texte dans JTextArea de Swing, pour votre référence, le contenu spécifique est le suivant
Lorsque vous ajoutez un événement de défilement à un JTextArea avec une barre de défilement, par exemple, le zoom Ctrl+Lorsque le défilement et l'événement de zoom s'ajoutent, ils se chevauchent. Comment faire pour que ces deux événements se produisent en même temps sans se perturber, c'est-à-dire que le texte ne défile pas verticalement lorsque la barre de défilement zoome ou réduit?
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("Défilement et zoom"); 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];//Obtenir l'événement de défilement système jsp.removeMouseWheelListener(sysWheel);//Supprimer le défilement système, ajouter au besoin 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()){//Si la touche ctrl est enfoncée, le défilement agrandit ou réduit Font f = jta.getFont(); if(e.getWheelRotation()<0){//Si le curseur de défilement se déplace vers l'avant, agrandir le texte jta.setFont(new Font(f.getFamily(),f.getStyle(),f.getSize())+1)); }//Le curseur de défilement se rétracte vers l'arrière pour réduire le texte jta.setFont(new Font(f.getFamily(),f.getStyle(),f.getSize())-1)); } }//Si la touche ctrl n'est pas enfoncée, il s'agit d'un défilement du système jsp.addMouseWheelListener(sysWheel); sysWheel.mouseWheelMoved(e);//Déclencher l'événement de défilement du système. jsp.removeMouseWheelListener(sysWheel); } } } public static void main(String[] args){ new jtaWheel(); } }
Voici la totalité du contenu de cet article, j'espère qu'il vous sera utile dans vos études, et j'espère que vous soutiendrez également le tutoriel d'alarme.
Déclaration : le contenu de cet article est issu d'Internet, propriété de ses auteurs respectifs, contribué et téléversé par les utilisateurs d'Internet. Ce site ne détient pas de droits de propriété, n'a pas été édité par l'homme, et n'assume aucune responsabilité juridique connexe. Si vous trouvez du contenu susceptible de violer les droits d'auteur, vous êtes invité à envoyer un e-mail à : notice#oldtoolbag.com (veuillez remplacer # par @ lors de l'envoi d'un e-mail pour signaler une violation, et fournir des preuves pertinentes. Une fois vérifié, ce site supprimera immédiatement le contenu suspect de violation de droits d'auteur.