你的代码没有错误,没有显示,是因为你设定了固定位置
jp.setBounds(300,260,300,200);
你可以设定面板大小,来显示你的控件。
----------------解决方案--------------------------------------------------------
jp.setBounds(300,260,300,200);
你可以设定面板大小,来显示你的控件。
程序代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class aa extends JFrame implements ActionListener
{
JButton jbr = new JButton("摇奖");
JPanel jp = new JPanel();
CardLayout cl = new CardLayout();
public aa()
{
this.setTitle("使用卡片布局管理器");
this.setLayout(null);
jbr.setBounds(120,40,100,20);
this.add(jbr);
jbr.addActionListener(this);
jp.setBounds(300,260,300,200);
jp.setLayout(cl);
for(int i=1;i<6;i++)
{
JButton jb = new JButton(i + "等奖");//创建表示奖级别的多个按钮
jp.add(jb,""+i);//将新创建的按钮添加到面板中
}
this.add(jp);
this.setBounds(200,200,300,200);
this.setSize(800,600);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
int i =(int)Math.floor(Math.random()*6);
//随即产生一个从1到5之间的随机数
cl.show(jp,""+i);
// 显示随即控件
}
public static void main(String args[])
{
aa s= new aa();
}
}
import java.awt.*;
import java.awt.event.*;
public class aa extends JFrame implements ActionListener
{
JButton jbr = new JButton("摇奖");
JPanel jp = new JPanel();
CardLayout cl = new CardLayout();
public aa()
{
this.setTitle("使用卡片布局管理器");
this.setLayout(null);
jbr.setBounds(120,40,100,20);
this.add(jbr);
jbr.addActionListener(this);
jp.setBounds(300,260,300,200);
jp.setLayout(cl);
for(int i=1;i<6;i++)
{
JButton jb = new JButton(i + "等奖");//创建表示奖级别的多个按钮
jp.add(jb,""+i);//将新创建的按钮添加到面板中
}
this.add(jp);
this.setBounds(200,200,300,200);
this.setSize(800,600);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
int i =(int)Math.floor(Math.random()*6);
//随即产生一个从1到5之间的随机数
cl.show(jp,""+i);
// 显示随即控件
}
public static void main(String args[])
{
aa s= new aa();
}
}
----------------解决方案--------------------------------------------------------