JButton移动文本

时间:2011-04-04 12:23:23

标签: java swing jbutton

我正在为我的JButton问题寻找解决方案/替代方案。我的buttontext与我的“键盘按键图片”无法正确匹配。文字有点太低了..

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位置。

示例pic:

Example

2 个答案:

答案 0 :(得分:1)

您可以从example获得一些使用setBorderPainted(false)paintComponent()来精确控制展示位置和规模的提示。

答案 1 :(得分:0)

好的我尝试过并试过......似乎没什么用。

我现在解决了,我调整了大约5个像素的图片。所以CENTER会更高。 最后setMargin(new Insets(-8, -2, -2, -2));现在它应该与动态文本一起使用。 它并不完美,但它有效:/

谢谢你的答案。