JButton带有图标和文字但隐藏文字

时间:2013-04-17 10:00:22

标签: java swing user-interface jbutton

对于自动测试目的,必须具有文本集,因为机器人使用该标识来浏览屏幕。 我需要创建一个带有文字和图标的JButton,但只显示图标。

我尝试了几件事:

  1. 使用setHideActionText(true)

    jButton button = new JButton(icon);
    jButton.setHideActionText(true);
    jButton.setText(_messageManager.getMessage(messageKey));
    
  2. setHoritzontalTextPosition

  3. setVerticalAlignment

  4. 但没有效果。

    任何人都知道如何解决这个问题?

4 个答案:

答案 0 :(得分:2)

  

我需要创建一个带文本和图标的JButton,但只显示图标。

您可能使用过setActionCommand()

jButton.setActionCommand("Button 1");

或者,您也可以使用setName()

jButton.setName("Button 1");

答案 1 :(得分:0)

您希望仅在测试环境中使用文本,而不是在生产环境中使用文本吗?

然后你可以这样:

setText("");
if(test)
   setText("sometext");

答案 2 :(得分:0)

我建议将按钮文本的字体大小设置为0。 如果这不起作用,请将大小设置为可能的最低值,文本的颜色等于按钮的背景颜色(您可能需要稍后调整布局......)

答案 3 :(得分:0)

如果你使用TooltipText:

,你可以完全避免使用JButton的文本
   jButton1.setIcon(new ImageIcon(getClass().getResource("/money.png")));
   jButton1.setToolTipText("Foo");  
   ....
   jButton1.getToolTipText(); // use instead of getText()