这个题错在哪?

importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;publicclassbooksystemimpl... import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class booksystem implements ActionListener
{public void xianshi()
{JFrame.setDefaultLookAndFeelDecorated(true); //设置窗口图标显示为默认方式
JFrame f1=new JFrame("图书管理系统");
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //点击窗口关闭图标关闭窗口
Container cp=f1.getContentPane(); //创建JFrame的容器对象
Box box1=Box.createVerticalBox();
cp.add(box1); //为cp容器添加box1组件
Icon tu1=new ImageIcon("1.jpg");
JLabel jlabel1=new JLabel(tu1);
Box box2=Box.createHorizontalBox();
box1.add(jlabel1);
box1.add(box2); //box1中组件
JLabel jlabel2=new JLabel("欢迎进入图书管理系统");
Box box3=Box.createVerticalBox();
JButton jbutton1=new JButton("1、添加图书");
jbutton1.addActionListener(this);
JButton jbutton2=new JButton("2、浏览所有图书");
jbutton2.addActionListener(this);
JButton jbutton3=new JButton("3、按书名查询图书");
jbutton3.addActionListener(this);
JButton jbutton4=new JButton("4、按作者查询图书");
jbutton4.addActionListener(this);
JButton jbutton5=new JButton("5、修改图书资料");
jbutton5.addActionListener(this);
JButton jbutton6=new JButton("6、删除图书资料");
jbutton6.addActionListener(this);
JButton jbutton0=new JButton("0、退出程序");
jbutton0.addActionListener(this);
box3.add(jbutton1);
box3.add(jbutton2);
box3.add(jbutton3);
box3.add(jbutton4);
box3.add(jbutton5);
box3.add(jbutton6);
box3.add(jbutton0); //box3中组件
box2.add(jlabel2);
box2.add(box3); //box2中组件
//f1.pack();
f1.setSize(400,300);
f1.setLocation(100,100);
f1.setVisible(true);
}
public static void main(String args[])
{new booksystem().xianshi();
}
public void actionPerformed(ActionEvent e)
{if(e.getSource()==jbutton1)
{new booksystem().jbutton1();
}
}
class winlis extends WindowAdapter
{public void windowsClosing(WindowEvent e)
{System.exit(0);
}
}
public void jbutton1()
{JLabel lb=new JLabel("添加图书");
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame f2=new JFrame("添加图书");
Container cp1=f2.getContentPane();
cp1.add(lb);
f2.setLocation(10,10);
f2.setSize(600,800);
f2.setVisible(true);
f2.addWindowListener(new winlis());
}
}
提示说51行找不到符号,但我检查过了。请达人帮看看
第一个同志的办法我试了错误提示更多了
第二个同志的方法我也试了没有错误,运行成功,但无法实现点击按钮弹出新窗口的功能,麻烦大家了。
展开
 我来答
百度网友d921d02
2008-01-20 · TA获得超过1107个赞
知道小有建树答主
回答量:383
采纳率:0%
帮助的人:580万
展开全部
问题出在这里
{if(e.getSource()==jbutton1)

jbutton1没有声明,楼主在xianshi() 声明的JButton jbutton1=new JButton("1、添加图书"); 的声明周期只能在xianshi()方法里边,actionPerformed这个方法里边识别不了jbutton1;

解决方法是:
在public void xianshi()前边加上
public JButton jbutton1;
这样jbutton1就成为了这个类的一个属性,那么就可以使用了。。
锂鳞金
2008-01-20 · TA获得超过885个赞
知道小有建树答主
回答量:315
采纳率:0%
帮助的人:503万
展开全部
是你的JButton1要设置为类的实例变量,在函数中才能可见,明白么?

把定义放到类中去如:
public class booksystem implements ActionListener
{
JButton jbutton1=new JButton("1、添加图书");

…………
void xianshi(){
……
}

}
否则,只是局部变量,除了你xianshi函数以外的地方是不可以调用的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式