هل هناك طريقة لقلب jslider بحيث يشير سهم شريط التمرير إلى الأعلى؟

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

  •  26-09-2019
  •  | 
  •  

سؤال

لقد كنت أحاول إيجاد طريقة للقيام بذلك لفترة من الوقت الآن ولا يمكنني اكتشاف ذلك تمامًا. أعلم أنه يمكنك تغيير اتجاه JSlider ، باستخدام setorientation (أفقي | عمودي) ، ويمكنك أيضًا قلب المقياس ، باستخدام setInverted (صحيح). مشكلتي هي كما يلي:

1) يجب أن يكون JSLIDER أفقيًا ؛
2) يجب أن يكون JSLIDER أقل من البيانات ؛
3) يجب أن يشير السهم (المدبب) على شريط التمرير الفعلي إلى الأعلى ، وليس لأسفل (أي: نحو البيانات).

الطريقة الوحيدة التي يمكنني من خلالها فهم ذلك هي الكتابة فوق طريقة PaintComponent من JComponent وإعادة ترميزها تمامًا من أجل JSlider مخصص ، والتي تبدو سخيفة ، ولست متأكدًا من أنها ستنجح.

شكرا للمساعدة!

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

المحلول

يمكنك تجاوز الصورة المصغرة المستخدمة في Uimanager كيف تخفي مقبض JSlider؟

UIManager.getLookAndFeelDefaults().put(
    "Slider.horizontalThumbIcon",
    new Icon('your_icon')
);

ومع ذلك ، سيتم القيام بذلك لجميع المنزلقات في برنامجك.

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