الحفاظ على الاختيار بعد النقر على jbutton لأسلوب النص

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

سؤال

أقوم بعمل محرر نصوص بسيط إلى حد ما ، ولدي سؤال حول أزرار أسلوبي. عندما أقوم بتسليط الضوء على النص وانقر فوق الزر "Bold" الخاص بي ، فإن النص غامق كما هو متوقع ، لكن اختياري لم يعد مرئيًا. لا يزال بإمكاني إلغاء اختيار الاختيار ، أو وضعه مائلًا ، أو التأكيد عليه ، لكن لا يمكنك رؤية ما هو محدد. لذا ، أنا أتساءل عما إذا كان هناك إعداد يسمح لي بالنقر فوق الزر ، لكن احتفظ باختياري؟ جربت Jmenuitem بدلاً من Jbutton ، ويبدو أن ذلك يعمل ، ولكن بعد ذلك جعل شريط الأدوات الخاص بي يبدو سيئًا للغاية. عينة الكود أدناه.

//frame and pane creation up here
JToolBar tool = new JToolBar();
JToggleButton boldButton = new JToggleButton("Bold");
boldButton.addActionListener(new StyledEditorKit.BoldAction());
tool.add(boldButton);

أي مساعدة موضع تقدير.

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

المحلول

لذا ، أنا أتساءل عما إذا كان هناك إعداد يسمح لي بالنقر فوق الزر ، لكن احتفظ باختياري؟

boldButton.setFocusable( false );

نصائح أخرى

كما لاحظت ، لا يزال التحديد موجودًا ولكن النقر على زر شريط الأدوات يزيل التركيز من جزء النص ويخفي التحديد. تحتاج إلى تعيين التركيز مرة أخرى باستخدام requestFocus. ومع ذلك ، ستحتاج إلى كتابة مستمع الإجراء الخاص بك لإضافة رمز التركيز - يمكنك تمديده BoldAction لفعل هذا.

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