Java: не получается, чтобы JButton располагался горизонтально вокруг текста - PullRequest
4 голосов
/ 20 сентября 2011

У меня есть JButton, который намного шире, чем текст, который я вставил в него. Я исследовал это, и я продолжаю находить предложение, которое я использую Jbutton.setMargin(new Insets(0,0,0,0)); Но это, похоже, не работает. Кроме того, setMaximumSize не имеет никакого эффекта, хотя, если я также установил минимальный размер, он действительно изменит размер кнопки. Но я не хочу устанавливать размер вручную. Я просто хочу, чтобы это было менее широко. Чего мне не хватает?

Вот мой код для создания кнопки:

plusminus = new JButton("+");
plusminus.setMargin(new Insets(0,0,0,0));

А вот как это выглядит:

plus button

Спасибо.

Ответы [ 2 ]

4 голосов
/ 20 сентября 2011

Я вручную делаю свой графический интерфейс.В этом случае макет GroupLayout

Тогда это может быть частью вашей проблемы.Размер вашего JButton ограничен макетом контейнера, в котором он находится.Одним из возможных решений, если вам абсолютно необходимо использовать GroupLayout (который я ненавижу, кстати), является размещение вашего JButton внутри JPanel, который использует FlowLayout или какой-либо другой макет, который допускает компоненты гибкого размера, и размещение этого JPanel в контейнере, который в настоящее времядержа вашу кнопкуОднако будьте осторожны, если ваша кнопка больше, чем JPanel.

1 голос
/ 31 мая 2012

На жаворонке я попробовал отрицательные левые и правые вставки и невероятно это сработало.Мне тогда не нужно было возиться с размерами min / max / pref.Кстати, мои кнопки находятся в одном столбце JTable.

...