JLabel 分享个思路,在按钮点击事件中拿到要修改的JLabel对象,然后setText,这样不行吗,如果JLabel是不是成员变量,需要用final修饰 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private JLabel txtLabel;txtLabel = new Label("");//构造函数中初始化txtLabel.setText("xxxx");//在修改处使用 关键是我的JLabel是在一个方法里new的,然后加入到了JPanel里,没有在全局里声明,下面是创建Jlabel的代码:private JPanel getContentJPanel(){ JPanel jpanel = new JPanel(); jpanel.setName("contentJPanel"); jpanel.setBackground(getBackgroundColor(CONTENT_BACKGROUND_COLOR)); for(int i = 0; i < 7 ;i++){ JLabel jlabel = new JLabel(); jlabel.setName("ballNum" + (i + 1)); jlabel.setHorizontalAlignment(SwingConstants.CENTER); jlabel.setBackground(getBackgroundColor(BALL_BACKGROUND_COLOR)); jlabel.setOpaque(Boolean.TRUE); jlabel.setPreferredSize(new Dimension(30,20)); jlabel.setForeground(Color.BLUE); if(i == 6) jlabel.setForeground(Color.RED); jlabel.setText("0"); jpanel.add(jlabel); } return jpanel; }然后把返回的JPanel加入JFramethis.add(getContentJPanel(),BorderLayout.CENTER);这句是写在构造方法里的。 你的JButton是成员变量吗,关键是我的JLabel是在一个方法里new的,然后加入到了JPanel里,没有在全局里声明,下面是创建Jlabel的代码:private JPanel getContentJPanel(){ JPanel jpanel = new JPanel(); jpanel.setName("contentJPanel"); jpanel.setBackground(getBackgroundColor(CONTENT_BACKGROUND_COLOR)); for(int i = 0; i < 7 ;i++){ JLabel jlabel = new JLabel(); jlabel.setName("ballNum" + (i + 1)); jlabel.setHorizontalAlignment(SwingConstants.CENTER); jlabel.setBackground(getBackgroundColor(BALL_BACKGROUND_COLOR)); jlabel.setOpaque(Boolean.TRUE); jlabel.setPreferredSize(new Dimension(30,20)); jlabel.setForeground(Color.BLUE); if(i == 6) jlabel.setForeground(Color.RED); jlabel.setText("0"); jpanel.add(jlabel); } return jpanel; }然后把返回的JPanel加入JFramethis.add(getContentJPanel(),BorderLayout.CENTER);这句是写在构造方法里的。有一个很好地的解决方案,就是将这个JLabel声明为成员变量,这样在类内部都可以访问,如果需要在类外部访问,提供访问器接口就可以了,。不这样做的话,你的JLabel是getJPanel方法的局部变量,作用域限制在这个方法里,出了这个方法就无法访问,所以建议使用成员变量。 求教,java怎么修改文件中的某一个数据 java 连接oracle问题 jtable的单元格焦点问题,麻烦高手看下 JDK安装后 出现的问题,来解一下!谢谢 如何画2象素的曲线? 乙肝带菌者软件公司不要吗? 下面的代码为什么不能使窗口居中显示呢? Locale本地化问题 哪个考的是scjp的中文试卷,中文考试和英文考试的证是一样的么? 考SCJP,哪本书好呀? 求帮忙看看这个关于界面的程序 咨询各位大侠一个关于构造器的基础问题
txtLabel = new Label("");//构造函数中初始化
txtLabel.setText("xxxx");//在修改处使用
关键是我的JLabel是在一个方法里new的,然后加入到了JPanel里,没有在全局里声明,下面是创建Jlabel的代码:private JPanel getContentJPanel(){
JPanel jpanel = new JPanel();
jpanel.setName("contentJPanel");
jpanel.setBackground(getBackgroundColor(CONTENT_BACKGROUND_COLOR));
for(int i = 0; i < 7 ;i++){
JLabel jlabel = new JLabel();
jlabel.setName("ballNum" + (i + 1));
jlabel.setHorizontalAlignment(SwingConstants.CENTER);
jlabel.setBackground(getBackgroundColor(BALL_BACKGROUND_COLOR));
jlabel.setOpaque(Boolean.TRUE);
jlabel.setPreferredSize(new Dimension(30,20));
jlabel.setForeground(Color.BLUE);
if(i == 6) jlabel.setForeground(Color.RED);
jlabel.setText("0");
jpanel.add(jlabel);
}
return jpanel;
}然后把返回的JPanel加入JFrame
this.add(getContentJPanel(),BorderLayout.CENTER);
这句是写在构造方法里的。
关键是我的JLabel是在一个方法里new的,然后加入到了JPanel里,没有在全局里声明,下面是创建Jlabel的代码:private JPanel getContentJPanel(){
JPanel jpanel = new JPanel();
jpanel.setName("contentJPanel");
jpanel.setBackground(getBackgroundColor(CONTENT_BACKGROUND_COLOR));
for(int i = 0; i < 7 ;i++){
JLabel jlabel = new JLabel();
jlabel.setName("ballNum" + (i + 1));
jlabel.setHorizontalAlignment(SwingConstants.CENTER);
jlabel.setBackground(getBackgroundColor(BALL_BACKGROUND_COLOR));
jlabel.setOpaque(Boolean.TRUE);
jlabel.setPreferredSize(new Dimension(30,20));
jlabel.setForeground(Color.BLUE);
if(i == 6) jlabel.setForeground(Color.RED);
jlabel.setText("0");
jpanel.add(jlabel);
}
return jpanel;
}然后把返回的JPanel加入JFrame
this.add(getContentJPanel(),BorderLayout.CENTER);
这句是写在构造方法里的。有一个很好地的解决方案,就是将这个JLabel声明为成员变量,这样在类内部都可以访问,如果需要在类外部访问,提供访问器接口就可以了,。不这样做的话,你的JLabel是getJPanel方法的局部变量,作用域限制在这个方法里,出了这个方法就无法访问,所以建议使用成员变量。