كيف تحسب جافا تباعد خط الخط؟ (احسب التباعد بين خطين في أوقات رومانية جديدة)

StackOverflow https://stackoverflow.com/questions/19845263

  •  29-07-2022
  •  | 
  •  

سؤال

لذلك أنا أقوم بإنشاء واجهة متغيرة للغاية حيث يجب أن يكون الخط تقريبًا متغيرًا (فقط ثق بي ، وأحتاجها بحيث تعمل على كل دقة) ولكن من الواضح أن هناك خطوطًا متعددة إذا كانت هناك نص ، حيث يكون هناك مساحة بين خطوط منفصلة.

بعد أن حاولت بعضها ، وجدت أن المسافة بين الخط ليست ثابتة (على سبيل المثال ، 2 بكسل) ، لذلك يجب أن تكون نسبة مئوية من الخط الكامل (على سبيل المثال ، النسبة المئوية هي 25 ٪ وحجم الخط هو 40 بكسل ، من التباعد هو 10 بكسل) أو نوع من الصيغة.

بعد بعض أعمال البحث ، لم أتمكن من العثور على أي شيء عن تباعد الخط ، لذلك اعتقدت أنه كان محددًا من Java. أشك في هذا ، رغم ذلك. نظرًا لأن Java ليس لديه طريقة يمكنك من خلالها تغيير هذا التباعد (بقدر ما يمكن أن أجد).

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

المشكلة الأكبر هي أنني بحاجة إلى معرفة ذلك لإنشاء الخط ... في حالة الحاجة إلى الصيغة: fontsize = (mytextarea.getheight ()-([fontascend]+[fontdescent])*21)/22

ملاحظة: أنا أستخدم JTextarea وأفضل عدم استخدام Jeditorpane

هل كانت مفيدة؟

المحلول

ربما هذا ما أنت بعده؟

myTextArea.getFontMetrics().getHeight()

getFontMetrics هو طريقة على jComponent الذي يمنحك ملف FontMetrics الكائن الذي لديه ملف getHeight() طريقة.

نصائح أخرى

يعتمد التباعد بين السطور على ما إذا كان خط النص له أحفاد أم لا.

اقرأ مقدمة إلى فئة fontmetrics لكل شيء لم ترغب أبدًا في معرفته عن الصعود والنزول.

يبدو أنه مع مشكلتي المحددة (حيث يتعين علي إنشاء خط وأحتاج إلى نفس الخط حتى أتمكن من إنشائها) ، فإن الخيارات الوحيدة هي إما استخدام Jeditorpane واستخدام CSS لتعيين التباعد على قيمة محددة يمكن استخدام في صيغتي أو لاستخدام الجبر للحصول على القيمة الصحيحة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top