如题
在JFrame窗口中创建面板 (窗口对象 jf )
想弄个卡片布局的,实现按钮来切换各个面板Button but = new Button("next");
....... //创建若干按钮
JPanel jp=new JPanel(new CardLayout());
JPanel jp1=new JPanel();
....... //创建若干面板
jf.add("North",jp); //jf 为窗口对象
....... //监听器省略
jp.add(but);
....... //添加若干按钮
jp.add("but",jp1); .............(1)
....... //添加若干面板 .............(2)
但运行的时候只显示了窗口,这是为什么? 当删除(1)(2)后按钮又能显示出来
请问各位大大应该怎么改我想实现 点击按钮,切换面板。 请大大们把这段代码帖出来,小弟谢谢啦。
在JFrame窗口中创建面板 (窗口对象 jf )
想弄个卡片布局的,实现按钮来切换各个面板Button but = new Button("next");
....... //创建若干按钮
JPanel jp=new JPanel(new CardLayout());
JPanel jp1=new JPanel();
....... //创建若干面板
jf.add("North",jp); //jf 为窗口对象
....... //监听器省略
jp.add(but);
....... //添加若干按钮
jp.add("but",jp1); .............(1)
....... //添加若干面板 .............(2)
但运行的时候只显示了窗口,这是为什么? 当删除(1)(2)后按钮又能显示出来
请问各位大大应该怎么改我想实现 点击按钮,切换面板。 请大大们把这段代码帖出来,小弟谢谢啦。
import java.awt.*;
import java.awt.event.*;public class tc implements MouseListener{
JFrame f=new JFrame("学生信息管理系统");
CardLayout cl=new CardLayout();
JPanel cards = new JPanel();
JPanel p = new JPanel();
JTextField t1 = new JTextField("读入成功!");
JTextField t2,t3,t4,t5,t6;
JPanel jp2,jp3,jp4,jp5,jp6;
JButton but1,but2,but3,but4,but5,but6,but7;
public void setWindow(){
f.setLayout(new BorderLayout());
f.setSize(480,400);
f.setVisible(true);
f.add("North",p);
f.addWindowListener(new MyWindowListener());
p.setLayout(new FlowLayout());
cards.setLayout(cl);
cards.add( "but1",new JPanel().add(t1));
cards.add( "but2",jp2);
cards.add( "but3",jp3);
cards.add( "but4",jp4);
cards.add( "but5",jp5);
cards.add( "but6",jp6);
but1 = new JButton("读入");
but2 = new JButton("添加");
but3 = new JButton("删除");
but4 = new JButton("修改");
but5 = new JButton("查询");
but6 = new JButton("评定");
but7 = new JButton("保存");
p.add(but1);
p.add(but2);
p.add(but3);
p.add(but4);
p.add(but5);
p.add(but6);
p.add(but7);
but1.addMouseListener(this);
but2.addMouseListener(this);
but3.addMouseListener(this);
but4.addMouseListener(this);
but5.addMouseListener(this);
but6.addMouseListener(this);
but7.addMouseListener(this);
}
public static void main(String args[]){
tc t=new tc();
t.setWindow();
}
public void mouseClicked(MouseEvent e) {
if(e.getSource()==but1)
cl.first(cards);
else if(e.getSource()==but2)
cl.next(cards);
else if(e.getSource()==but3)
cl.next(cards);
else if(e.getSource()==but4)
cl.next(cards);
else if(e.getSource()==but5)
cl.next(cards);
else if(e.getSource()==but6)
cl.last(cards);
else if(e.getSource()==but7)
System.exit(0);//保存并退出
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
}
class MyWindowListener extends WindowAdapter{
public void windowClosing(WindowEvent e){
e.getWindow().dispose();
System.exit(0);
}
}小弟昨晚刚自学图形界面,请大大们赐教。。
下面的代码不用看 只要看上面那段,代码还没写完,写得也很废。为什么按钮在面板中显示不出来就行。
把
cards.add( "but1",new JPanel().add(t1));
cards.add( "but2",jp2);
cards.add( "but3",jp3);
cards.add( "but4",jp4);
cards.add( "but5",jp5);
cards.add( "but6",jp6);
删除就能显示按钮
额,看见了你那后面的jp2,jp3,jp4,jp5,jp6;没有创建对象就被添加到cards里了。会抛空指针异常吧