【发布时间】:2014-01-16 19:09:16
【问题描述】:
我有一个应该启动游戏的课程(使用main()),以及游戏的开始屏幕。具有main() 的类(名为Starter)扩展JFrame,创建一个新的OpeningScreen 类(扩展JPanel),并将其添加到JFrame。
由于某种原因,OpeningScreen 不会被添加到 JFrame。代码:
Starter类:
import javax.swing.*;
import java.awt.*;
public class Starter extends JFrame {
public Starter(){
setSize(500,500);
setResizable(false);
setTitle("Ping-Pong Battle");
setDefaultCloseOperation(EXIT_ON_CLOSE);
OpeningScreen openingS = new OpeningScreen();
add(openingS);
setVisible(true);
}
public static void main(String[]args){
Starter starter = new Starter();
}
}
OpeningScreen类:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class OpeningScreen extends JPanel {
public OpeningScreen(){
setBackground(Color.BLACK);
setFocusable(true);
setVisible(true);
}
public void paint(Graphics g){
// Soon code here to be drawn.
}
public void startGame(){
Board board = new Board();
}
}
有什么问题?谢谢
编辑:OpeningScreen 的构造函数会运行,但不会将背景涂成黑色。此外,尝试在paint() 中绘制东西也行不通。
【问题讨论】:
-
尝试覆盖
paintComponent(Graphics g)而不是paint(Graphics g) -
不,同样的问题:\