سؤال

لدي شريط تقدم يرث من JSLIDER لتوفير وظيفة تسليط الضوء عليها. يسلط الضوء يمكن إضافته إلى شريط التمرير عند نقطة (ولون) ثم يتم رسمها بعد ذلك على عنصر التحكم. كالآتي:

http://img101.imageshack.us/img101/7608/sliderexample.png.

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

هل هناك على أي حال للحصول على إحداثيات كل علامة؟ أو ربما أفضل طريقة لأداء هذه المهمة؟

تشكرات!

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

المحلول

هذا يعتمد على الشكل والشعور وهناك فرصة جيدة أن هناك أي علامات على الإطلاق عندما يستخدم المستخدم بعض غير قياسي L & F. في الواقع، مشكلتك هي امتداد الوظيفة وإدراك الرسوم، لذا فقد تضطر إلى لمس كليهما، JSLIDER و SLIDERUI.

لاحظ الطرق التالية:

javax.swing.JSlider.getMajorTickSpacing() 
javax.swing.JSlider.getMinorTickSpacing() 

أيضا، قد يساعد في النظر في javax.swing.plaf.SliderUI والفصول التي توسعها، خاصة

javax.swing.plaf.basic.BasicSliderUI.paintTicks(java.awt.Graphics)
javax.swing.plaf.basic.BasicSliderUI.xPositionForValue(int)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top