java中CardLayout的问题???
一个窗口上面有三个按钮,下面有一个组件,点击第一个按钮就切换到第一个组件,点击第二个按钮就切换到第二个,点击第三个按钮杰切换到第三个。帮我把代码写出来???我还没有学Sw...
一个窗口上面有三个按钮,下面有一个组件,点击第一个按钮就切换到第一个组件,点击第二个按钮就切换到第二个,点击第三个按钮杰切换到第三个。帮我把代码写出来???我还没有学Swing,用AWT写,尽量把代码都写到main方法里,书上的代码全写到构造方法里了,看起来太复杂。
另外看一下下面的代码有什么问题,总说找不到符号pp2
import java.awt.*;
import java.awt.event.*;
public class Test
{
public static void main(String[] args)
{
Frame f=new Frame("cardlayout");
f.setSize(300,300);
Panel pp1=new Panel();
Panel pp2=new Panel();
Panel p1=new Panel();
Panel p2=new Panel();
Panel p3=new Panel();
p1.setBackground(Color.RED);
p2.setBackground(Color.BLUE);
Button b=new Button("切换");
pp1.add(b);
CardLayout cl=new CardLayout();
pp2.setLayout(cl);
pp2.add("one",p1);
pp2.add("two",p2);
f.add(pp1,BorderLayout.NORTH);
f.add(pp2,BorderLayout.CENTER);
b.addActionListener(new A());
}
}
class A implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
cl.next(pp2);
}
}
急急急,在线等答案, 展开
另外看一下下面的代码有什么问题,总说找不到符号pp2
import java.awt.*;
import java.awt.event.*;
public class Test
{
public static void main(String[] args)
{
Frame f=new Frame("cardlayout");
f.setSize(300,300);
Panel pp1=new Panel();
Panel pp2=new Panel();
Panel p1=new Panel();
Panel p2=new Panel();
Panel p3=new Panel();
p1.setBackground(Color.RED);
p2.setBackground(Color.BLUE);
Button b=new Button("切换");
pp1.add(b);
CardLayout cl=new CardLayout();
pp2.setLayout(cl);
pp2.add("one",p1);
pp2.add("two",p2);
f.add(pp1,BorderLayout.NORTH);
f.add(pp2,BorderLayout.CENTER);
b.addActionListener(new A());
}
}
class A implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
cl.next(pp2);
}
}
急急急,在线等答案, 展开
展开全部
你把pp2 放到Test 类的全局变量里去,在Test()构造函数中初始化,因为你的pp2定义是在Main 方法里 在其他类里调用当然找不到,这样改:
import java.awt.*;
import java.awt.event.*;
public class Test
{
Panel pp1;
Panel pp2;
Panel p1;
Panel p2;
Panel p3;
Test(){
pp1=new Panel();
pp2=new Panel();
p1=new Panel();
p2=new Panel();
p3=new Panel();
Frame f=new Frame("cardlayout");
f.setSize(300,300);
Panel pp1=new Panel();
p1.setBackground(Color.RED);
p2.setBackground(Color.BLUE);
Button b=new Button("切换");
pp1.add(b);
CardLayout cl=new CardLayout();
pp2.setLayout(cl);
pp2.add("one",p1);
pp2.add("two",p2);
f.add(pp1,BorderLayout.NORTH);
f.add(pp2,BorderLayout.CENTER);
b.addActionListener(new A());
}
public static void main(String[] args)
{
new Test();
}
}
class A implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
cl.next(new Test().pp2); //cl不知道你定义的是什么,就你自己修改了
}
}
import java.awt.*;
import java.awt.event.*;
public class Test
{
Panel pp1;
Panel pp2;
Panel p1;
Panel p2;
Panel p3;
Test(){
pp1=new Panel();
pp2=new Panel();
p1=new Panel();
p2=new Panel();
p3=new Panel();
Frame f=new Frame("cardlayout");
f.setSize(300,300);
Panel pp1=new Panel();
p1.setBackground(Color.RED);
p2.setBackground(Color.BLUE);
Button b=new Button("切换");
pp1.add(b);
CardLayout cl=new CardLayout();
pp2.setLayout(cl);
pp2.add("one",p1);
pp2.add("two",p2);
f.add(pp1,BorderLayout.NORTH);
f.add(pp2,BorderLayout.CENTER);
b.addActionListener(new A());
}
public static void main(String[] args)
{
new Test();
}
}
class A implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
cl.next(new Test().pp2); //cl不知道你定义的是什么,就你自己修改了
}
}
展开全部
将你的面板设置为隐藏 pp1.setVisible(false);
pp2.setVisible(false);
在按钮里面写事件:点击第一个按,把pp1设置为可见,其他的隐藏 pp1.setVisible(true);pp2.setVisible(false); 第二个按钮,把pp2设置为可见,其他的隐藏。。。
pp2.setVisible(false);
在按钮里面写事件:点击第一个按,把pp1设置为可见,其他的隐藏 pp1.setVisible(true);pp2.setVisible(false); 第二个按钮,把pp2设置为可见,其他的隐藏。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把class A中的pp2换成Test.pp2试试,对变量的引用要指定所属的类或者对象。
追问
试了,不行的。我就是搞不懂这个 布局管理器 要怎么用,能不能跟我说一下使用步骤,
追答
所谓布局管理器,就是管理放入容器中的组件,包括组件怎么排列,间距多大等等,你的问题可能不是管理器的原因。不好意思我暂时由于一些原因帮不了你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询