站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题急!高手请进给高分,在线等

急!高手请进给高分,在线等

摘要: 急!高手请进给高分,在线等


编译能通过,运行时也能出来,就是按钮的功能实现不了

import java.awt.*;
import java.awt.event.*;
public class Pinfo extends WindowAdapter implements ActionListener,ItemListener
{
Frame f;
Panel p1,p2,p20,p21,p22,p23,p3,p31,p32,p33,p4,p5;
Button b1,b2,b3,b4,b5,b6;
Label lb1,lb2,lb3,lb4,lb5,lb6,lb7,lb8,lb9,lb10,lb11,lb12,lb13,lb14,lb15,lb16,lb17,lb18;
TextField tf1,tf2,tf3,tf4,tf5,tf6,tf7,tf8,tf9,tf10,tf11,tf12,tf13,tf14,tf15,tf16,tf17,tf18;
List ls1,ls2,ls3;
int it1,it2,it3;
String str1,str2,str3;
CardLayout ca=new CardLayout();
CardLayout cb=new CardLayout();
public static void main(String args[])
{
(new Pinfo()).display();
}

public void display()
{
f=new Frame("出版物管理系统");
f.setSize(550,450);
f.setLocation(200,150);
f.setBackground(Color.cyan);
f.setLayout(new BorderLayout());
p1 = new Panel(); //上部面板
p2 = new Panel(); //中部大面板
f.add(p2,BorderLayout.CENTER);
p5 = new Panel(); //底部面板

b1=new Button("书籍");
b1.addActionListener(this);
b2=new Button("CD");
b2.addActionListener(this);
b3=new Button("磁带");
b3.addActionListener(this);
p1.setLayout(new FlowLayout(FlowLayout.CENTER,50,10));
p1.add(b1);
p1.add(b2);
p1.add(b3);
f.add(p1,BorderLayout.NORTH);
p2.setLayout(new GridLayout(1,2,0,50));

p20=new Panel();
p20.setLayout(cb); //框架f左中部分卡片布局
p21=new Panel(new BorderLayout());
p22=new Panel(new BorderLayout());
p23=new Panel(new BorderLayout());
p20.add(p21,"书籍");
p20.add(p22,"CD");
p20.add(p23,"磁带");
p2.add(p20);
ls1=new List();
ls2=new List();
ls3=new List();
ls1.addItemListener(this);
ls2.addItemListener(this);
ls3.addItemListener(this);
p21.add(ls1);
p22.add(ls2);
p23.add(ls3);

p3 = new Panel(); //中部右面板
p3.setLayout(ca); //框架f右半部分卡片布局
p31=new Panel();
p32=new Panel();
p33=new Panel();
p3.add(p31,"书籍卡片");
p3.add(p32,"CD卡片");
p3.add(p33,"磁带卡片");
p2.add(p3);
p31.setLayout(new GridLayout(6,1,0,30));//关于书籍卡片的设置
lb1= new Label("书名");
lb1.setAlignment(Label.CENTER);
tf1= new TextField(20);
lb2= new Label("作者");
lb2.setAlignment(Label.CENTER);
tf2= new TextField(20);
lb3= new Label("出版社");
lb3.setAlignment(Label.CENTER);
tf3= new TextField(20);
lb4= new Label("价格");
lb4.setAlignment(Label.CENTER);
tf4= new TextField(20);
lb5= new Label("出版日期");
lb5.setAlignment(Label.CENTER);
tf5= new TextField(20);
lb6= new Label("ISBN");
lb6.setAlignment(Label.CENTER);
tf6= new TextField(20);
p31.add(lb1);
p31.add(tf1);
p31.add(lb2);
p31.add(tf2);
p31.add(lb3);
p31.add(tf3);
p31.add(lb4);
p31.add(tf4);
p31.add(lb5);
p31.add(tf5);
p31.add(lb6);
p31.add(tf6);

p32.setLayout(new GridLayout(6,1,0,30));//关于CD卡片的设置
lb7= new Label("CD名");
lb7.setAlignment(Label.CENTER);
tf7= new TextField(20);
lb8= new Label("演唱者");
lb8.setAlignment(Label.CENTER);
tf8= new TextField(20);
lb9= new Label("出版社");
lb9.setAlignment(Label.CENTER);
tf9= new TextField(20);
lb10= new Label("价格");
lb10.setAlignment(Label.CENTER);
tf10= new TextField(20);
lb11= new Label("发行者");
lb11.setAlignment(Label.CENTER);
tf11= new TextField(20);
lb12= new Label("ISRC");
lb12.setAlignment(Label.CENTER);
tf12= new TextField(20);
p32.add(lb7);
p32.add(tf7);
p32.add(lb8);
p32.add(tf8);
p32.add(lb9);
p32.add(tf9);
p32.add(lb10);
p32.add(tf10);
p32.add(lb11);
p32.add(tf11);
p32.add(lb12);
p32.add(tf12);

p33.setLayout(new GridLayout(6,1,0,30));//关于磁带卡片的设置
lb13= new Label("磁带名");
lb13.setAlignment(Label.CENTER);
tf13= new TextField(20);
lb14= new Label("演唱者");
lb14.setAlignment(Label.CENTER);
tf14= new TextField(20);
lb15= new Label("出版社");
lb15.setAlignment(Label.CENTER);
tf15= new TextField(20);
lb16= new Label("价格");
lb16.setAlignment(Label.CENTER);
tf16= new TextField(20);
lb17= new Label("发行者");
lb17.setAlignment(Label.CENTER);
tf17= new TextField(20);
lb18= new Label("ISRC");
lb18.setAlignment(Label.CENTER);
tf18= new TextField(20);
p33.add(lb13);
p33.add(tf13);
p33.add(lb14);
p33.add(tf14);
p33.add(lb15);
p33.add(tf15);
p33.add(lb16);
p33.add(tf16);
p33.add(lb17);
p33.add(tf17);
p33.add(lb18);
p33.add(tf18);

p5.setLayout(new FlowLayout(FlowLayout.CENTER,50,10));//底部小面板
b4=new Button("添加");
b4.addActionListener(this);
b5=new Button("修改");
b5.addActionListener(this);
b6=new Button("删除");
b6.addActionListener(this);
p5.add(b4);
p5.add(b5);
p5.add(b6);
f.add(p5,BorderLayout.SOUTH);
f.addWindowListener(this);
f.setVisible(true);
}
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
public void itemStateChanged(ItemEvent ie)
{
it1=ls1.getSelectedIndex();
it2=ls2.getSelectedIndex();
it3=ls3.getSelectedIndex();

}
public void actionPerformed(ActionEvent e)
{
if (e.getSource()==b1) //点击书籍按钮,切换到书籍界面
{
ca.show(p31,"书籍卡片");
cb.show(p20,"书籍");
if(e.getSource()==b4)//添加
{

str1=tf1.getText()+" "+tf2.getText()+" "+tf3.getText()+" "+tf4.getText()+" "+tf5.getText()+" "+tf6.getText();
ls1.add(str1);
}
if(e.getSource()==b5)//修改
{
str2=tf1.getText()+" "+tf2.getText()+" "+tf3.getText()+" "+tf4.getText()+" "+tf5.getText()+" "+tf6.getText();
ls1.replaceItem(str2,it1);
}
if(e.getSource()==b6) //删除
ls1.remove(it1);
}

if (e.getSource()==b2) //切换到CD界面
{
ca.show(p32,"CD卡片");
cb.show(p20,"CD");
if(e.getSource()==b4)//添加
{

str1=tf7.getText()+" "+tf8.getText()+" "+tf9.getText()+" "+tf10.getText()+" "+tf11.getText()+" "+tf12.getText();
ls2.add(str2);
}
if(e.getSource()==b5)//修改
{
str2=tf7.getText()+" "+tf8.getText()+" "+tf9.getText()+" "+tf10.getText()+" "+tf11.getText()+" "+tf12.getText();
ls2.replaceItem(str2,it2);
}
if(e.getSource()==b6) //删除
ls2.remove(it2);
}

if (e.getSource()==b3) //切换到磁带界面
{ ca.show(p33,"磁带卡片");
cb.show(p20,"磁带");
if(e.getSource()==b4)//添加
{

str1=tf13.getText()+" "+tf14.getText()+" "+tf15.getText()+" "+tf16.getText()+" "+tf17.getText()+" "+tf18.getText();
ls3.add(str3);
}
if(e.getSource()==b5)//修改
{
str3=tf13.getText()+" "+tf14.getText()+" "+tf15.getText()+" "+tf16.getText()+" "+tf17.getText()+" "+tf18.getText();
ls3.replaceItem(str3,it3);
}
if(e.getSource()==b6) //删除
ls3.remove(it3);
}

}



}



public class Pinfo extends WindowAdapter implements ActionListener,
ItemListener {
Frame f;

Panel p1, p2, p20, p21, p22, p23, p3, p31, p32, p33, p4, p5;

Button b1, b2, b3, b4, b5, b6;

Label lb1, lb2, lb3, lb4, lb5, lb6, lb7, lb8, lb9, lb10, lb11, lb12, lb13,
lb14, lb15, lb16, lb17, lb18;

TextField tf1, tf2, tf3, tf4, tf5, tf6, tf7, tf8, tf9, tf10, tf11, tf12,
tf13, tf14, tf15, tf16, tf17, tf18;

List ls1, ls2, ls3;

int it1, it2, it3;

String str1, str2, str3;

CardLayout ca = new CardLayout();

CardLayout cb = new CardLayout();

public static void main(String args[]) {
(new Pinfo()).display();
}

public void display() {
f = new Frame("出版物管理系统");
f.setSize(550, 450);
f.setLocation(200, 150);
f.setBackground(Color.cyan);
f.setLayout(new BorderLayout());
p1 = new Panel(); // 上部面板
p2 = new Panel(); // 中部大面板
f.add(p2, BorderLayout.CENTER);
p5 = new Panel(); // 底部面板

b1 = new Button("书籍");
b1.addActionListener(this);
b2 = new Button("CD");
b2.addActionListener(this);
b3 = new Button("磁带");
b3.addActionListener(this);
p1.setLayout(new FlowLayout(FlowLayout.CENTER, 50, 10));
p1.add(b1);
p1.add(b2);
p1.add(b3);
f.add(p1, BorderLayout.NORTH);
p2.setLayout(new GridLayout(1, 2, 0, 50));

p20 = new Panel();
p20.setLayout(cb); // 框架f左中部分卡片布局
p21 = new Panel(new BorderLayout());
p22 = new Panel(new BorderLayout());
p23 = new Panel(new BorderLayout());
p20.add(p21, "书籍");
p20.add(p22, "CD");
p20.add(p23, "磁带");
p2.add(p20);
ls1 = new List();
ls2 = new List();
ls3 = new List();
ls1.addItemListener(this);
ls2.addItemListener(this);
ls3.addItemListener(this);
p21.add(ls1);
p22.add(ls2);
p23.add(ls3);

p3 = new Panel(); // 中部右面板
p3.setLayout(ca); // 框架f右半部分卡片布局
p31 = new Panel();
p32 = new Panel();
p33 = new Panel();
p3.add(p31, "书籍卡片");
p3.add(p32, "CD卡片");
p3.add(p33, "磁带卡片");
p2.add(p3);
p31.setLayout(new GridLayout(6, 1, 0, 30));// 关于书籍卡片的设置
lb1 = new Label("书名");
lb1.setAlignment(Label.CENTER);
tf1 = new TextField(20);
lb2 = new Label("作者");
lb2.setAlignment(Label.CENTER);
tf2 = new TextField(20);
lb3 = new Label("出版社");
lb3.setAlignment(Label.CENTER);
tf3 = new TextField(20);
lb4 = new Label("价格");
lb4.setAlignment(Label.CENTER);
tf4 = new TextField(20);
lb5 = new Label("出版日期");
lb5.setAlignment(Label.CENTER);
tf5 = new TextField(20);
lb6 = new Label("ISBN");
lb6.setAlignment(Label.CENTER);
tf6 = new TextField(20);
p31.add(lb1);
p31.add(tf1);
p31.add(lb2);
p31.add(tf2);
p31.add(lb3);
p31.add(tf3);
p31.add(lb4);
p31.add(tf4);
p31.add(lb5);
p31.add(tf5);
p31.add(lb6);
p31.add(tf6);

p32.setLayout(new GridLayout(6, 1, 0, 30));// 关于CD卡片的设置
lb7 = new Label("CD名");
lb7.setAlignment(Label.CENTER);
tf7 = new TextField(20);
lb8 = new Label("演唱者");
lb8.setAlignment(Label.CENTER);
tf8 = new TextField(20);
lb9 = new Label("出版社");
lb9.setAlignment(Label.CENTER);
tf9 = new TextField(20);
lb10 = new Label("价格");
lb10.setAlignment(Label.CENTER);
tf10 = new TextField(20);
lb11 = new Label("发行者");
lb11.setAlignment(Label.CENTER);
tf11 = new TextField(20);
lb12 = new Label("ISRC");
lb12.setAlignment(Label.CENTER);
tf12 = new TextField(20);
p32.add(lb7);
p32.add(tf7);
p32.add(lb8);
p32.add(tf8);
p32.add(lb9);
p32.add(tf9);
p32.add(lb10);
p32.add(tf10);
p32.add(lb11);
p32.add(tf11);
p32.add(lb12);
p32.add(tf12);

p33.setLayout(new GridLayout(6, 1, 0, 30));// 关于磁带卡片的设置
lb13 = new Label("磁带名");
lb13.setAlignment(Label.CENTER);
tf13 = new TextField(20);
lb14 = new Label("演唱者");
lb14.setAlignment(Label.CENTER);
tf14 = new TextField(20);
lb15 = new Label("出版社");
lb15.setAlignment(Label.CENTER);
tf15 = new TextField(20);
lb16 = new Label("价格");
lb16.setAlignment(Label.CENTER);
tf16 = new TextField(20);
lb17 = new Label("发行者");
lb17.setAlignment(Label.CENTER);
tf17 = new TextField(20);
lb18 = new Label("ISRC");
lb18.setAlignment(Label.CENTER);
tf18 = new TextField(20);
p33.add(lb13);
p33.add(tf13);
p33.add(lb14);
p33.add(tf14);
p33.add(lb15);
p33.add(tf15);
p33.add(lb16);
p33.add(tf16);
p33.add(lb17);
p33.add(tf17);
p33.add(lb18);
p33.add(tf18);

p5.setLayout(new FlowLayout(FlowLayout.CENTER, 50, 10));// 底部小面板
b4 = new Button("添加");
b4.addActionListener(this);
b5 = new Button("修改");
b5.addActionListener(this);
b6 = new Button("删除");
b6.addActionListener(this);
p5.add(b4);
p5.add(b5);
p5.add(b6);
f.add(p5, BorderLayout.SOUTH);
f.addWindowListener(this);
f.setVisible(true);
}

public void windowClosing(WindowEvent e) {
System.exit(0);
}

public void itemStateChanged(ItemEvent ie) {
it1 = ls1.getSelectedIndex();
it2 = ls2.getSelectedIndex();
it3 = ls3.getSelectedIndex();

}

private Panel showWhat = null;

public void actionPerformed(ActionEvent e) {
if (e.getSource() == b1) // 点击书籍按钮,切换到书籍界面
{
ca.show(p3, "书籍卡片");
showWhat = p31;
}

if (e.getSource() == b2) // 切换到CD界面
{
ca.show(p3, "CD卡片");
showWhat = p32;
}

if (e.getSource() == b3) // 切换到磁带界面
{
ca.show(p3, "磁带卡片");
showWhat = p32;
}
if (e.getSource() == b4)// 添加
{
if (showWhat == p31) {
// TODO 自己补
}
if (showWhat == p32) {
// TODO 自己补
}
if (showWhat == p33) {
// TODO 自己补
}

}
if (e.getSource() == b5)// 修改
{
if (showWhat == p31) {
// TODO 自己补
}
if (showWhat == p32) {
// TODO 自己补
}
if (showWhat == p33) {
// TODO 自己补
}
}
if (e.getSource() == b6) {
if (showWhat == p31) {
// TODO 自己补
}
if (showWhat == p32) {
// TODO 自己补
}
if (showWhat == p33) {
// TODO 自己补
}
}

}

}


CardLayout.show(parent,name)中parent必须是使用这个layout的主件:
这个是其代码:
void checkLayout(Container parent) {
if (parent.getLayout() != this) {
throw new IllegalArgumentException("wrong parent for CardLayout");
}
}可以看出为什么你上面会出错,另外你的逻辑有问题,如这种代码:
if (e.getSource()==b3) //切换到磁带界面
{ ca.show(p33,"磁带卡片");
cb.show(p20,"磁带");
if(e.getSource()==b4)//添加
{

str1=tf13.getText()+" "+tf14.getText()+" "+tf15.getText()+" "+tf16.getText()+" "+tf17.getText()+" "+tf18.getText();
ls3.add(str3);
}
其中e.getSource都已经等于b3了,还怎么有可能等于b3呢。


你给的代码也太长了吧
这里没有闲人啊


↑返回目录
前一篇: 一个简单ejb的问题!!急啊!!
后一篇: ResultSet对象怎么从后台传到jsp上的