62,614
社区成员
发帖
与我相关
我的任务
分享
import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
public class MainScreen extends JFrame {
public static final int WIDTH = 35;
public static final int ROWS = 16;
public static final int COLS = 10;
Mycanvas canvas = new Mycanvas();
public MainScreen() {
super("俄罗斯方块");
setLayout(new BorderLayout());
add("Center", canvas);
setBounds(400, 20, COLS*WIDTH, ROWS*WIDTH);
//setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new MainScreen();
}
class Mycanvas extends Canvas {
public void paint(Graphics g) {
Color c = g.getColor();
setBackground(Color.GRAY);
g.setColor(Color.DARK_GRAY);
for(int i=0; i<ROWS+1; i++) {
g.drawLine(0, MainScreen.WIDTH * i, COLS * MainScreen.WIDTH, MainScreen.WIDTH * i);
}
for(int i=0; i<COLS+1; i++) {
g.drawLine(MainScreen.WIDTH * i, 0, MainScreen.WIDTH * i, MainScreen.WIDTH * ROWS);
}
}
}
}
我想要的效果是 窗口是固定了的,现在代码里我没固定,我在画布上画了格子,但是被标题栏之类的遮住了,怎么做才能做到画布的大小是窗口的可见部分的大小?笨方法是可以试出来,可有没有好的方法呢