تشارك هذه المقالة رمز Swing Jtextarea Scrollbar وتوسيع النص للرجوع إليه. المحتوى المحدد كما يلي
عند إضافة JTextarea مع شريط التمرير مع حدث التمرير مثل Scaling Ctrl+Wheel ، سيتزامن حدث التمرير المضافة وحدث تكبير التمرير. كيف تصنع هذين الحدثين في وقت واحد دون التدخل مع بعضهما البعض؟ وهذا هو ، لن يتم التمرير النص لأعلى ولأسفل عندما يتم توسيع شريط التمرير وتقليله.
استيراد javax.swing.*؛ استيراد java.awt.*؛ استيراد java.awt.event.mouseadapter ؛ استيراد java.awt.event.mousewheelevent ؛ استيراد java.awt.event.mousewheellistener ؛ الطبقة العامة 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.getmousewheellisteners () [0] ؛ // الحصول على نظام التمرير jsp.removemousewheellistener (syswheel) ؛ // إزالة التمرير للنظام ، إضافة jsp.addmousewheellistener (حدث جديد ()) ؛ JF.Add (JSP) ؛ jf.setDefaultCloseOperation (jframe.exit_on_close) ؛ JF.SetVisible (صواب) ؛ } تمدد حدث الفئة الخاصة mouseadapter {Override public void mousewheelmoved (mousewheelevent e) {if (eiscontroldown ()) {// عندما يتم الضغط على مفتاح ctrl ، يتم التمرير للتكبير والخروج من font f = jta.getfont () ؛ if ( } else if ( }} else {// عندما لا يتم الضغط على Ctrl ، فإنه يتم تمريره للنظام JSP.AddMousewheellistener (syswheel) ؛ syswheel.mousewheelmoved (e) ؛ // يؤدي إلى حدث التمرير للنظام. JSP.RemoveMousewheellistener (Syswheel) ؛ }} public static void main (string [] args) {new jtawheel () ؛ }}ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.