gpt4 book ai didi

java - 缩小这段代码的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-01 13:32:14 25 4
gpt4 key购买 nike

我想知道如果我们一次又一次地将相同的组件添加到java(在主类中)并为每个组件编写单独的代码,是否可以使代码更小?例如如果我们多次添加按钮和标签,每个按钮和标签都执行不同的工作,是否可以用更少的代码来包含它们,或者是否必须像这样,例如

    JLabel label = new JLabel("Text1");
label.setHorizontalAlignment(SwingConstants.CENTER);
panel.add(label);
JTextField field = new JTextField();
panel.add(field);


JLabel label1 = new JLabel("Text2");
label1.setHorizontalAlignment(SwingConstants.CENTER);
panel.add(label1);
JTextField field1 = new JTextField();
panel.add(field1);
field1.setEnabled(false);

JLabel label2 = new JLabel("Text3");
label2.setHorizontalAlignment(SwingConstants.CENTER);
panel.add(label2);
JTextField field2 = new JTextField();
panel.add(field2);

field2.setEnabled(false);

在我的代码中,我必须一遍又一遍地添加相同的组件,例如 10 次,但每个组件都在做不同的工作,是否可以用更少的代码来包含它们?

此外,我希望能够将每个文本框的值存储在不同的变量中,例如将field1的值存储为int number;。

最佳答案

创建一个可以重用的方法:

private void method createLabel(JPanel panel, String text) {
JLabel label = new JLabel(text);
label.setHorizontalAlignment(SwingConstants.CENTER);
panel.add(label);
JTextField field = new JTextField();
panel.add(field);
}

如果您需要诸如 setEnabled() 之类的额外功能,只需传递参数即可根据要求执行或不执行。如果您需要返回标签,只需将 void 更改为 JLabel 并返回即可。然后你就这样调用它

createLabel(panel, "text1");
createLabel(panel, "text2");
...

关于java - 缩小这段代码的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21502095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com