Java swing对象数组返回空指针异常
这是我的代码段。它返回一个空指针异常..jlabel1已设置并正在工作Java swing对象数组返回空指针异常,java,arrays,swing,nullpointerexception,Java,Arrays,Swing,Nullpointerexception,这是我的代码段。它返回一个空指针异常..jlabel1已设置并正在工作 JLabel j[]=new JLabel[10]; i=0; j[i]=new JLabel(); j[i].setText("1"); this.add(j[i]); 从评论中编辑 JLabel j[]=new JLabel[50]; try { Rectangle bounds = jLabel1.getBounds(); j[i].setText("1"); this.add(j[i])
JLabel j[]=new JLabel[10];
i=0;
j[i]=new JLabel();
j[i].setText("1");
this.add(j[i]);
从评论中编辑
JLabel j[]=new JLabel[50];
try {
Rectangle bounds = jLabel1.getBounds();
j[i].setText("1");
this.add(j[i]);
j[i].setBounds(jLabel1.getX(),jLabel1.getY()+50 ,jLabel1.getHeight(),jLabel1.getWidth()); } catch(Exception e) {
System.out.println(e.toString());
}
评论太短了。尝试发布一个 这似乎对我有用:
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class Test {
protected void initUI() {
final JFrame frame = new JFrame();
frame.setTitle("Test JLabel");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
class TestPanel extends JPanel {
int i;
public TestPanel() {
JLabel j[] = new JLabel[10];
i = 0;
j[i] = new JLabel();
j[i].setText("1");
this.add(j[i]);
}
}
frame.add(new TestPanel());
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new Test().initUI();
}
});
}
}
问题是你忘了带钥匙
j[i] = new JLabel();
在你在评论中发布的片段中,尽管它包含在你的问题中
NullPointerException通常很容易调试,因为您只需跟踪堆栈跟踪即可发现什么是null。如果有疑问,只需在该行上放置断点并使用调试器即可
要获得stacktrace,您可以使用e.printStackTrace或简单地删除try-catch块,因为简单地为所有异常设置try-catch块是不好的做法此代码位于何处?哪种方法/函数?您的问题中没有jlabel1,jlabel1已经设置在哪里,并且正在工作为了更好地理解异常打印堆栈跟踪。@HarshitSharaff您不知道try/catch吗?JLabel j[]=new JLabel[50];尝试{Rectangle bounds=jLabel1.getBounds;j[i].setText1;this.addj[i];j[i].setBoundsjLabel1.getX,jLabel1.getY+50,jLabel1.getHeight,jLabel1.getWidth;}catch异常e{System.out.printlne.toString;}这个代码段给出了java.lang。NullPointerException@HarshitSharaff如果没有一个完整的例子,很难说。jLabel1为空或j[i]为空。没有上下文,我们帮不了你更多。我们不是胡乱猜测的大师。