У меня такая странная проблема, и похоже, что это не происходит в системах Mac, но в Windows. Я работаю над этим графическим интерфейсом и пытаюсь сделать все кнопки одинаковой длины (длина самой длинной кнопки), но по какой-то причине в Windows одна из кнопок не отображает всю строку и обрезает ее с помощью эллипсис (...).Java/JButton: Как избавиться от эллипсов на JButton?
Вот метод я использую, чтобы проверить и установить самую длинную кнопку метки:
//Temp button to hold the longest button for resizing
JButton longestButton = new JButton();
//Find size of the largest of the 6 buttons
for(int i = 0; i < 6; i++){
if (buttons[i].getText().length() > longestButton.getText().length()){
longestButton = buttons[i];
}
}
//Match size of 6 hex buttons to the size of the longest one
for(int i = 0; i < 6; i++){
buttons[i].setPreferredSize(longestButton.getPreferredSize());
}
кто-нибудь есть некоторое понимание этого?
'кнопка [я] .getText(). Длина()' не будет давать относительные длины оказанному текста, если вы не используете моноширинный шрифт. Вы должны принять во внимание фактический используемый шрифт – vandale
Я не уверен, как это сделать или реализовать его, чтобы изменить размеры кнопок. – wsc
Вы можете попытаться использовать определение своего менеджера макетов, в котором каждый компонент будет основываться на максимальной предпочтительной ширине ... – MadProgrammer