显示扩展jlabel的对象数组

时间:2014-11-29 15:10:01

标签: java object jframe jpanel jlabel

我正在尝试在jpanel上显示扩展jlabel的对象数组。我知道物体在那里并重叠自己。我尝试使用:content.setLayout(new GridLayout(10,10));内容是jpanel,但对象无法正确显示。

有人对我的问题有任何建议吗?我确定这是一个愚蠢的错误,但我似乎无法找到它= /。

提前谢谢。

public class Vue extends JFrame{
JButton start, stop, pause;
JPanel content;
Case tabC;
Case tabLab[][]= new Case[10][10];
Mouton m = new Mouton(2, 3, 'm');
Vue(){
    this.setTitle("Evolution");
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    JMenuBar menu = new JMenuBar();
    start= new JButton("START");
    stop = new JButton("STOP");
    pause = new JButton("PAUSE");
    content = new JPanel();

    Herbe h =new Herbe(0, 0);
    Loup l = new Loup(0, 0, 'm');
    for(int cpt=0;cpt<10;cpt++){
        for(int cpt2=0;cpt2<10;cpt2++){
            tabLab[cpt][cpt2]=new Case(l,null,cpt,2);
            tabLab[cpt][cpt2].setSize(50,50);
            content.add(tabLab[cpt][cpt2]);
        }   
    }
    content.setLayout(new GridLayout(10,10));

    menu.add(start);
    menu.add(stop);
    menu.add(pause);    


    content.setBackground(Color.gray);
    content.setLayout(new GridLayout(10,10));
    this.setJMenuBar(menu);
    this.add(content);
    setContentPane(content);


}

这是JLabel扩展的对象

    public Case(Object o,Object o2,int x,int y) {
    JLabel l = new JLabel();
    setIcon(new ImageIcon("loup.png"));
    ob1=o;
    ob2=o2;
    this.x=x;
    this.y=y;
}

2 个答案:

答案 0 :(得分:0)

我只是没有放完整个代码,但确实扩展了JLabel ^^ 实际上整个事情都是这样:

public class Case extends JLabel {
Object ob1;
Object ob2;
int x,y;

public Case(Object o,Object o2,int x,int y) {
    JLabel l = new JLabel("something");
    setIcon(new ImageIcon("loup.png"));
    ob1=o;
    ob2=o2;
    this.x=x;
    this.y=y;
}

答案 1 :(得分:-1)

当你说&#34;对象在那里并重叠自己时#34;这是否意味着你可以在JPanel中看到它们?它们在网格中的哪个位置?你似乎给对象一个固定的y = 2.