JButton переместить текст - PullRequest
       8

JButton переместить текст

1 голос
/ 04 апреля 2011

Я ищу решение / альтернативу для моей проблемы JButton. Мой текст кнопки не совпадает с моим "изображением клавиш клавиатуры". Текст слишком низкий ..

JToggleButton tglbtn_newLine = new JToggleButton("0");
tglbtn_newLine.setBackground(new Color(240,240,240));
tglbtn_newLine.setBorderPainted(false);
tglbtn_newLine.setIcon(new ImageIcon(/*Picture of a key*/);
//should be 2..3 pix above the CENTER position:
tglbtn_newLine.setVerticalTextPosition(SwingConstants.CENTER);
tglbtn_newLine.setHorizontalTextPosition(SwingConstants.CENTER);
GridBagConstraints gbc_tglbtn_newLine = new GridBagConstraints();
gbc_tglbtn_newLine.insets = new Insets( 0, 0, 5, 5);
tglbtn_newLine.setMargin(new Insets(-2, -2, -2, -2));
gbc_tglbtn_newLine.gridx = 4;
gbc_tglbtn_newLine.gridy = 5;
controlPanel.add(tglbtn_newLine, gbc_tglbtn_newLine);

Есть ли возможность установить текст в определенную y-позицию.

Пример изображения:

Example

Ответы [ 2 ]

1 голос
/ 04 апреля 2011

Вы можете получить некоторые идеи из этого примера , который использует setBorderPainted(false) и paintComponent() для точного управления размещением и масштабированием.

0 голосов
/ 05 апреля 2011

Хорошо, я пытался и пытался ... кажется, ничего не работает.

Я решил это сейчас, изменив размер изображения примерно на 5 пикселей. Так что CENTER будет выше. Наконец setMargin(new Insets(-8, -2, -2, -2)); и теперь он должен работать с динамическим текстом. Это не идеально, но работает: /

Спасибо за ваши ответы.

...