English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تأثيرات رول البار والتحجيم للنص في jtextArea في Swing

هذا المثال يشارككم رمز سكرين جيرس جي تيكس إريا وتمديد النص الموجود في سكرين جيرس، يمكنكم الرجوع إليه، والتفاصيل كالتالي

عند إضافة تمرير العجلة إلى نص كنص مع رول، مثل تضخيم Ctrl + wheel، سيؤدي التمرير الناتج وتمرير التضخيم إلى التداخل، كيف يمكن تحقيق حدوث هذين الحدثين في نفس الوقت دون التداخل بينهما، أي أن لا يحدث تمرير للأعلى وللأسفل عند تضخيم وتصغير السطر؟

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("تمرير تضخيم وتصغير"); 
    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(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){ 
      إذا (e.isControlDown()) { // عند ضغط مفتاح Ctrl، يتم التمرير إلى تضخيم وتصغير 
        Font f = jta.getFont(); 
        jta.setFont(new Font(f.getFamily(), f.getStyle(), f.getSize() + 1)); 
          else if (e.getWheelRotation() > 0) { // إذا تم تمرير العجلة إلى الخلف، فاقلل حجم النص 
        } 
          jta.setFont(new Font(f.getFamily(), f.getStyle(), f.getSize() - 1)); 
        } 
      } else { // إذا لم يتم ضغط Ctrl، فهي تمرير العجلة النظامية 
        jsp.addMouseWheelListener(sysWheel); 
        sysWheel.mouseWheelMoved(e);//تفعيل حدث تمرير العجلة النظامية. 
        jsp.removeMouseWheelListener(sysWheel); 
      } 
    } 
  } 
  public static void main(String[] args){ 
    new jtaWheel(); 
  } 
} 

هذا هو نهاية محتويات هذا المقال، نأمل أن تكون قد ساعدتكم في التعلم، ونأمل أن تدعموا تعليمات التصفير.

البيان: محتويات هذا المقال تم جمعها من الإنترنت، ملكية المحتويات لصاحب الحقوق، المحتويات مقدمة من مستخدمي الإنترنت بتحميلهم بشكل مستقل، هذا الموقع لا يمتلك الحقوق، لم يتم تعديل المحتويات بشكل يدوي، ولا يتحمل أي مسؤولية قانونية. إذا كنت قد وجدت محتوى يشتبه في انتهاك حقوق النسخ، فنرجو منك إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (عند إرسال البريد الإلكتروني، يرجى استبدال # ب @) للإبلاغ، وقدم الدليل على الدليل، إذا تم التحقق من ذلك، فإن هذا الموقع سيقوم بإزالة المحتويات المشتبه في انتهاك حقوق النسخ.

تحميل المزيد