【发布时间】:2014-09-19 08:59:56
【问题描述】:
我在一个方法中创建了一个 JLabel,我想访问它 在我的 ItemListener 中。如何使我的 JLabel “公共静态”?
public class MainTicketPrinter implements ItemListener{
public static void main(String[] args) {
new MainTicketPrinter().ticket();
}
public void ticket() {
JLabel lblTicket= new JLabel("This is a Ticket");
lblTicket.addItemListener(this);
}
public void itemStateChanged(ItemEvent e) {
lblTicket.setVisible(true);
}
}
【问题讨论】:
-
如果你只想这样做,你可以使用 public static JLabel lblTicket= new JLabel("This is a Ticket");在班级水平。但请先考虑您的设计。
-
虽然@ThusithaThilinaDayaratne 的评论和Matthijs 的答案有您正在寻找的答案,但您实际上不需要在这种情况下使用公共静态,因为您是从ItemListener 本身访问它。如果您有两个 MainTicketPrinter,您可能会遇到该静态变量的麻烦。
标签: java jlabel public jcomponent