gpt4 book ai didi

java - Java Swing 中 GridBagLayout 的问题

转载 作者:行者123 更新时间:2023-11-29 07:22:34 26 4
gpt4 key购买 nike

我的 JPanel/Gridbaglayout 有一个简单的问题:

import javax.swing.*;
import java.awt.*;



public class gridfenster extends JFrame {

private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;

private JButton b1=null;
private GridBagLayout gbl = null; // i tried it without this line!

/**
* @param args
*/
public void main() {
// TODO Auto-generated method stub

SwingUtilities.invokeLater(new Runnable()
{
public void run(){
gridfenster thisClass = new gridfenster();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
thisClass.setVisible(true);
}
});

}

/**
* @param owner
*/
public gridfenster() {
super();
initialize();
}

/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(300, 200);
this.setContentPane(getJContentPane());
this.setTitle("testgridbag");
}

/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
GridBagLayout gbl = new GridBagLayout();
jContentPane.setLayout(gbl);
GridBagConstraints gc = new GridBagConstraints();



//konkrete Elemente:
gc.fill =GridBagConstraints.HORIZONTAL ;
gc.gridx =0; gc.gridy=0;
gbl.setConstraints(b1,gc);
jContentPane.add(b1);

}
return jContentPane;
}

}

然后我得到以下错误:

IWAV0052E Invocation Target Exception creating gridfenster
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.eclipse.ve.internal.java.vce.launcher.remotevm.JFCLauncher$1.run(JFCLauncher.java:59)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at java.awt.Container.addImpl(Unknown Source)
at java.awt.Container.add(Unknown Source)
at gridfenster.getJContentPane(gridfenster.java:71)
at gridfenster.initialize(gridfenster.java:49)
at gridfenster.<init>(gridfenster.java:39)
... 13 more

最佳答案

您还没有初始化 b1 字段。您不能将 null 添加到容器中。

关于java - Java Swing 中 GridBagLayout 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2164558/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com