Java运行报错Exception in thread "main" java.lang.NullPointerException
源代码:packagecom.tracker;importjavax.swing.*;publicclasswindowextendsJFrame{publicwindo...
源代码:
package com.tracker;
import javax.swing.*;
public class window extends JFrame {
public window() {
int i=0;
setLayout(null);
this.setBounds(1,1,1200,800);
this.setTitle("温度监测");
this.add(panel);
for(i=0;i<256;i++) {
label[i].setBounds((i/32)*150,(i%32)*25,21,6);
label[i].setText(i+":");
panel.add(label[i]);
}
this.setVisible(true);
}
JPanel panel=new JPanel();
JLabel[] label=new JLabel[25];
public static void main(String[] args) {
window w=new window();
}
}
以下为控制台的错误信息:Exception in thread "main" java.lang.NullPointerException
at com.tracker.window.<init>(window.java:14)
at com.tracker.window.main(window.java:27)
在下Java新人,开始接触不到一个月,望各位高手赐教 展开
package com.tracker;
import javax.swing.*;
public class window extends JFrame {
public window() {
int i=0;
setLayout(null);
this.setBounds(1,1,1200,800);
this.setTitle("温度监测");
this.add(panel);
for(i=0;i<256;i++) {
label[i].setBounds((i/32)*150,(i%32)*25,21,6);
label[i].setText(i+":");
panel.add(label[i]);
}
this.setVisible(true);
}
JPanel panel=new JPanel();
JLabel[] label=new JLabel[25];
public static void main(String[] args) {
window w=new window();
}
}
以下为控制台的错误信息:Exception in thread "main" java.lang.NullPointerException
at com.tracker.window.<init>(window.java:14)
at com.tracker.window.main(window.java:27)
在下Java新人,开始接触不到一个月,望各位高手赐教 展开
展开全部
把 for(i=0;i<256;i++) {
label[i].setBounds((i/32)*150,(i%32)*25,21,6);
label[i].setText(i+":");
panel.add(label[i]);
}
改成
for(i=0;i<256;i++) {
label[i] = new JLabel();
label[i].setBounds((i/32)*150,(i%32)*25,21,6);
label[i].setText(i+":");
panel.add(label[i]);
}
因为你label数组中没有JLabel对象,所以对null set属性就报空指针异常
label[i].setBounds((i/32)*150,(i%32)*25,21,6);
label[i].setText(i+":");
panel.add(label[i]);
}
改成
for(i=0;i<256;i++) {
label[i] = new JLabel();
label[i].setBounds((i/32)*150,(i%32)*25,21,6);
label[i].setText(i+":");
panel.add(label[i]);
}
因为你label数组中没有JLabel对象,所以对null set属性就报空指针异常
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写了详细注释!
package com.tracker;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class window extends JFrame {
public window() {
int i=0;
setLayout(null);
this.setBounds(1,1,1200,800);
this.setTitle("温度监测");
this.add(panel);
for(i=0;i<25;i++) {
label[i] =new JLabel();//在这里实例化JLabel
label[i].setBounds((i/32)*150,(i%32)*25,21,6);
label[i].setText(i+":");
panel.add(label[i]);
}
this.setVisible(true);
}
JPanel panel=new JPanel();
//这里只是数组声明,还未JLabel实例化
JLabel[] label=new JLabel[25];
public static void main(String[] args) {
window w=new window();
}
}
package com.tracker;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class window extends JFrame {
public window() {
int i=0;
setLayout(null);
this.setBounds(1,1,1200,800);
this.setTitle("温度监测");
this.add(panel);
for(i=0;i<25;i++) {
label[i] =new JLabel();//在这里实例化JLabel
label[i].setBounds((i/32)*150,(i%32)*25,21,6);
label[i].setText(i+":");
panel.add(label[i]);
}
this.setVisible(true);
}
JPanel panel=new JPanel();
//这里只是数组声明,还未JLabel实例化
JLabel[] label=new JLabel[25];
public static void main(String[] args) {
window w=new window();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import javax.swing.JFrame;
import javax.swing.*;
import java.awt.*;
public class window extends JFrame{
public window() {
int i=0;
setLayout(new FlowLayout());
this.setBounds(1,1,1200,800);
this.setTitle("温度监测");
this.add(panel);
for(i=0;i<25;i++) {
JLabel l=new JLabel();
label[i]=l;
label[i].setBounds((i/32)*150,(i%32)*25,21,6);
label[i].setText(i+":");
panel.add(label[i]);
}
this.setVisible(true);
}
JPanel panel=new JPanel();
JLabel[] label=new JLabel[25];
public static void main(String[] args) {
window w=new window();
}
}
import javax.swing.*;
import java.awt.*;
public class window extends JFrame{
public window() {
int i=0;
setLayout(new FlowLayout());
this.setBounds(1,1,1200,800);
this.setTitle("温度监测");
this.add(panel);
for(i=0;i<25;i++) {
JLabel l=new JLabel();
label[i]=l;
label[i].setBounds((i/32)*150,(i%32)*25,21,6);
label[i].setText(i+":");
panel.add(label[i]);
}
this.setVisible(true);
}
JPanel panel=new JPanel();
JLabel[] label=new JLabel[25];
public static void main(String[] args) {
window w=new window();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
label[i]是空对象,无法操作,加一行:label[i] = new JLabel();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
又是swing...
该死的空指针异常
该死的空指针异常
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询