Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java GUI 设计  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 请教:java控件初始化问题
MinLaoBan120





发贴: 1
积分: 0
于 2006-11-25 09:44 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
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面板
}
}




作者 Re:请教:java控件初始化问题 [Re:MinLaoBan120]
cxp108





发贴: 363
积分: 12
于 2006-11-27 09:51 user profilesend a private message to usersend email to cxp108search all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
private JLabel label[];//标签

这个没有正确初始化

private JLabel label[] = new JLable[12];




flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923