我正在为我的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:
答案 0 :(得分:1)
您可以从example获得一些使用setBorderPainted(false)
和paintComponent()
来精确控制展示位置和规模的提示。
答案 1 :(得分:0)
好的我尝试过并试过......似乎没什么用。
我现在解决了,我调整了大约5个像素的图片。所以CENTER
会更高。
最后setMargin(new Insets(-8, -2, -2, -2));
现在它应该与动态文本一起使用。
它并不完美,但它有效:/
谢谢你的答案。