如何在不重复代码的情况下创建 JLabels(或其他元素)?



我搜索了一段时间,找不到任何关于这个的东西。例如,假设我将创建很多 JLabels,但不是为每个 JLabel 重新键入所有内容,我可以有一种方法允许我输入我想要的内容并让它为我创建它们。我该怎么做呢?我在下面有一个小例子来说明我的意思。

private JLabel LabelBuilder(JLabel label, String text, int x, int y, int width, int height)
{
label = new JLabel(text);
label.setBounds(x, y, width, height);
label.setOpaque(true);
label.setBackground(Color.WHITE);
label.setHorizontalAlignment(SwingConstants.CENTER);
window.add(label);
}
public void SetupElements()
{
LabelBuilder(labelName, "Text", 10, 10, 200, 20);
}

我将如何退货?有没有比这更有效的方法?提前感谢!

要回答我将如何退回它?

private void setupElements()
{
JLabel aLabel = labelBuilder("Text", 10, 10, 200, 20);
}
//No need for a `JLabel label` argument.
//Method names start with lower case. see: https://www.geeksforgeeks.org/java-naming-conventions/
private JLabel labelBuilder(String text, int x, int y, int width, int height)
{
JLabel label = new JLabel(text);
//setting bounds is not recommended. Instead the parent container (window) needs 
//to implemenent layout manager. See https://docs.oracle.com/javase/tutorial/uiswing/layout/layoutlist.html
label.setBounds(x, y, width, height);
window.add(label);
return label;
}

相关内容

  • 没有找到相关文章

最新更新