在下面的代码示例中,我应该给变量label
什么修饰符?我是Java的新手,但我想做的第一件事是分解出我可以在swing中使用的所有类,比如JLabel,并使其能够动态调用它们。我希望我在下面做到了。但是,是的,我不确定private static JLabel label;
,因为最终我希望能够在某个主文件中声明所有的swing类。谢谢
package base;
import java.awt.Component;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class CreateLabel extends JLabel {
private static final long serialVersionUID = 1L;
private static JLabel label;
public Component createLabel(JFrame frame, String text) {
label = new JLabel(text);
return frame.getContentPane().add(label);
}
}
我所理解的是,您希望您的createLabel()
方法向传递的JFrame
添加一个JLabel
。你能做的是:
public class LabelCreator /*extends JLabel*/ {
/*private static final long serialVersionUID = 1L;*/
/*private static JLabel label;*/
public Component createLabel(JFrame frame, String text) {
JLabel label = new JLabel(text);
return frame/*.getContentPane()*/.add(label);
}
}
注意类名的更改以遵守命名约定。