Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JButton移动文本_Java_Swing_Jbutton - Fatal编程技术网

Java JButton移动文本

Java JButton移动文本,java,swing,jbutton,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(/

我正在为我的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位置

示例图片:


您可能会从中获得一些想法,使用
setboordpainted(false)
paintComponent()
来精确控制放置和缩放。

您可能会从中获得一些想法,使用
setboordpainted(false)
paintComponent()
精确控制位置和缩放。

好的,我试了又试。。。似乎什么都不管用

我现在解决了这个问题,我将图片的大小调整为5像素左右。因此,
中心将更高。
最后
setMargin(新插图(-8,-2,-2,-2))现在它应该可以处理动态文本。
虽然不完美,但它确实有效:/


谢谢你的回答。

好的,我试了又试。。。似乎什么都不管用

我现在解决了这个问题,我将图片的大小调整为5像素左右。因此,
中心将更高。
最后
setMargin(新插图(-8,-2,-2,-2))现在它应该可以处理动态文本。
虽然不完美,但它确实有效:/


谢谢你的回答。

我看不出有什么问题。发布您的SSCCE()以演示问题。我看不出问题所在。发布演示问题的SSCCE()。