JLabel重复自己

时间:2016-08-09 22:10:52

标签: java swing jframe jpanel jlabel

我试图复制现有游戏用于学习目的。下面的代码创建了一个带有正方形的JFrame,这些正方形将填充标签和图像,但是,"开始"标签似乎在复制自己。我有一些Java经验,但我还是学生。 (几乎没有Swing的经验)。我将标签添加到框架而不是面板,因为我画的正方形隐藏了标签。谢谢:D

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Test{
    public static void main(String[] args){

        JFrame frame = new JFrame("Miau");
        MyPanel panel = new MyPanel();
        frame.setVisible(true);
        frame.setSize(600,600);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(panel);
        frame.setVisible(true);
        JLabel labelstart = new JLabel("Start");
        frame.add(labelstart);
        labelstart.setLocation(100, 100);
        labelstart.setSize(30,14);
    }
}

class MyPanel extends JPanel {
  public void paint(Graphics g) {
    g.setColor(Color.black);
    //g.fillRect(10,10,570,100);
    int posx = 10;
    int posy = 120;
    g.drawRect(10,10,570,100);
    g.drawRect(posx,posy,570,430);
    int size = 5;
    int width = 570/size;
    int height = 430/size;

    for(int m=0;m<size;m++){
        for(int n=0;n<size;n++){
            g.drawRect(posx,posy,width,height);
            posx += width;
        }
        posx = 10;
        posy += height;

    }

  }
}

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的有效方法。我用了label.setBounds(positionx,positiony,boundx,boundy)。我正在尝试制作一款使用清爽JPanel的简单游戏,并且它正在运行。