首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java -如何使用方法

Java -如何使用方法
EN

Stack Overflow用户
提问于 2011-11-24 02:45:00
回答 4查看 352关注 0票数 0

我在我的JPanel中输入了一个JLabels列表:

代码语言:javascript
复制
avatarGridPanel.add(new JLabel(new ImageIcon("images/gui/orc_male.png", "Orc Male")));
avatarGridPanel.add(new JLabel(new ImageIcon("images/gui/human_male.png", "Human Male")));
avatarGridPanel.add(new JLabel(new ImageIcon("images/gui/tundrian_male.png", "Tundrian Male")));
avatarGridPanel.add(new JLabel(new ImageIcon("images/gui/brimlock_male.png", "Brimlock Male")));

我想将tooltiptext添加到它们中的每一个。有没有比使用temp变量保存其中一个值,然后不断重复使用它更好的方法呢?

代码语言:javascript
复制
JLabel temp = new JLabel();
temp = new JLabel(new ImageIcon("images/gui/human_male.png", "Human Male"));
temp.setToolTipText("Human Male");
avatarGridPanel.add(temp);

我试着这样做(如下所示),但不能让它工作。谢谢你的帮助!

代码语言:javascript
复制
avatarGridPanel.add(new JLabel(new ImageIcon("images/gui/human_male.png", "Human Male")).setToolTipText("Human Male"));
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-11-24 02:54:00

您可以创建一个函数来为您创建这些内容。当我有一个很大的数组,需要一遍又一遍地做同样的事情时,我有时会这样做:

代码语言:javascript
复制
private static JLabel makeLabel(String path, String name) {
    JLabel label = new JLabel(new ImageIcon(path, name));
    label.setToolTipText(name);
    return label;
}

然后在那个班级的其他地方:

代码语言:javascript
复制
avatarGridPanel.add(makeLabel("images/gui/orc_male.png", "Orc Male"));
票数 2
EN

Stack Overflow用户

发布于 2011-11-24 02:52:41

您可以创建一个方法,在其中传递图像位置、文本和工具提示文本,以避免所有代码重复。

这应该是可行的

代码语言:javascript
复制
private static JLabel createImageLabel(String imageLocation, String name, String toolTipText) {
    JLabel temp  = new JLabel(new ImageIcon(imageLocation, name));
    temp.setToolTipText(toolTipText);
    return temp;
}
票数 2
EN

Stack Overflow用户

发布于 2011-11-24 02:56:17

您可以使用"temp“变量,但如果这样做,您不希望首先创建一个空的JLabel,然后紧接着创建一个带有图标和文本的新JLabel。

但是创建一个helper方法呢?

代码语言:javascript
复制
...
avatarGridPanel.add(createLabel("images/gui/human_male.png", "Human Male"));
...

private JLabel createLabel(String iconPath, String description) {
    JLabel label = new JLabel(new ImageIcon(iconPath, description));
    label.setToolTipText(description);
    return label;
} 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8247459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档