新手,刚学到swing有一个小问题,请各位大哥帮帮忙,谢谢
我在JFrame中加一个JPanel 我要设定JPanel的大小 不想让JPanel扑满整个JFanel怎么办呀
我用的是JDK+记事本 所以不能用JBUILDER里的东西!
有问题的地方在下边的注释里
public class Snake
{public static void main(String[] args)
{SnakeFrame frame=new SnakeFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
class SnakeFrame extends JFrame
{
public SnakeFrame()
{
Toolkit kit=Toolkit.getDefaultToolkit();
Dimension sc=kit.getScreenSize();
Image img=kit.getImage("w.gif");
setIconImage(img);
int h=sc.height;
int w=sc.width;
setTitle("贪吃蛇");
setSize(200,350);
setLocation(w/2-260/2,h/2-400/2);
setResizable(false);
Container contentPnae=getContentPane();
JPanel panel1 = new JPanel();
panel1.setLayout(new GridLayout(1, 2));
JLabel lblScore = new JLabel("Score: 0");
JLabel lblEat = new JLabel("Eat Food: 0");
panel1.add(lblScore);
panel1.add(lblEat);
contentPnae.add(panel1, BorderLayout.NORTH);
Pane panel2 = new Pane();
contentPnae.add(panel2);
}
}
class Pane extends JPanel
{ public Pane()
{//Canvas paintCanvas = new Canvas();
// paintCanvas.setSize(200,350);
// add(paintCanvas);
setSize(20,50); //为什么这里设置了大小不起作用
setBackground(Color.WHITE);
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2=(Graphics2D)g; //这里画方快不显示
Rectangle2D c=new Rectangle2D.Double(50,100,10,10);
g2.setPaint(Color.RED);
g2.fill(c);
}
}