MinLaoBan120
发贴: 1
积分: 0
|
于 2006-11-25 09:44
mian方法在一个文件,就是调用这个类的,我还是把main文件例出来吧:
import java.awt.*; import javax.swing.*; public class MyApp { public static void main(String[] args) { Gui gui=new Gui("期中作业"); gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); gui.show();seOperation(JFrame.EXIT_ON_CLOSE); gui.show(); } } 界面文件入下: 编译后提示如下(主文件就是一个调用,没必要列出来): 前门面板部分没问题,知道是控件初始化问题,就是不知道问题出在哪里 Exception in thread "main" java.lang.NullPointerException at Gui.<init>(GUI.java:47)
import java.awt.*; import javax.swing.*; import java.awt.event.*; class Gui extends JFrame {
private JPanel p_main; //主面板 private JPanel p_left; //左子面板 private JPanel p_right;//右子面板 private JPanel p_ltitle;//左子面板.标题子面板 private JPanel p_lcon; //左子面板.数据控制子面板板 private JPanel p_loper; //左子面板.操作子面板 private JLabel label[];//标签 private JTextField texf[];//文本框 private JButton b_oper[];//控制按钮 private JCheckBox check[];//复选框
public Gui(String title) { setTitle(title);//设置标题 //获得屏幕的相关尺寸 Toolkit tk=Toolkit.getDefaultToolkit(); Dimension screenSize=tk.getScreenSize(); int screenHeight=screenSize.height; int screenWidth=screenSize.width; //设置框架的尺寸为屏幕一半,大小可调 setSize(screenWidth/2,screenHeight/2); setResizable(true);
//面板初始化 p_main=new JPanel(); p_left=new JPanel(); p_right=new JPanel(); p_ltitle=new JPanel(); p_lcon=new JPanel(); p_loper=new JPanel(); //面板布局 p_main.setLayout(new BoxLayout(p_main,BoxLayout.X_AXIS)); p_left.setLayout(new BoxLayout(p_left,BoxLayout.Y_AXIS)); p_right.setLayout(new BoxLayout(p_right,BoxLayout.Y_AXIS)); p_ltitle.setLayout(new BoxLayout(p_ltitle,BoxLayout.X_AXIS)); p_lcon.setLayout(new GridLayout(4,6)); p_loper.setLayout(new GridLayout(1,4));
//标签初始化 就是下面的初始化有问题,把下面全部屏蔽就没事, //请各位大虾看看是什么问题,这是我的java期中作业 label[0]=new JLabel("品牌"); label[1]=new JLabel("颜色"); label[2]=new JLabel("CPU型号"); label[3]=new JLabel("内存容量"); label[4]=new JLabel("价格"); label[5]=new JLabel("工作状态"); label[6]=new JLabel("机箱长度"); label[7]=new JLabel("机箱宽度"); label[8]=new JLabel("机箱厚度"); label[9]=new JLabel("重量"); label[10]=new JLabel("电池状态"); label[11]=new JLabel("JAVA期中小程序");
//文本框初始化 for(int i=0;i<11;i++) texf[i]=new JTextField();
//按钮初始化 b_oper[0]=new JButton("新建"); b_oper[1]=new JButton("更新"); b_oper[2]=new JButton("保存"); b_oper[3]=new JButton("删除"); b_oper[4]=new JButton("退出"); b_oper[5]=new JButton("第一条"); b_oper[6]=new JButton("前一条"); b_oper[7]=new JButton("后一条"); b_oper[8]=new JButton("最后一条");
//复选框初始化 check[0]=new JCheckBox("普通电脑"); check[1]=new JCheckBox("笔记本电脑");
// 将按钮放入p_right面板 p_right.add(check[0]); p_right.add(check[1]); for(int i=0;i<5;i++) p_right.add(b_oper[i]);
for(int i=5;i<9;i++) p_loper.add(b_oper[i]);//将按钮放入p_loper面板
//将标题按钮交替放入p_lcon面板 for(int i=0;i<22;i++) { if(i%2==0)p_lcon.add(label[i]); else p_lcon.add(texf[i]); }
p_ltitle.add(label[11]);//将标题放入p_ltitle面板 } }
|