小编Roi*_*ner的帖子

绘制Runnable JPanel

我正在研究这个小型赛马模拟器并且坚持使用它.我希望用户首先选择比赛中的马匹数量(2-6),然后单击"开始"按钮.然后,我想绘制/绘制赛道和马(由圆圈表示).出于某种原因,当代码到达创建Horse实例的点时,它永远不会被绘制到框架中.下面是代码.我错过了什么?

Main.java:

import javax.swing.SwingUtilities;

public class Main {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {     
            @Override
            public void run() {
                RaceTrack myRace = new RaceTrack();
                myRace.setVisible(true);
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

RaceTrack.java:

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.border.Border;

public class RaceTrack extends JFrame implements Runnable {
    public RaceTrack() {
        initUI();
    }
    public static int selectedRaceSize = 2;
    private void initUI() {
        final Container …
Run Code Online (Sandbox Code Playgroud)

java user-interface multithreading repaint paintcomponent

2
推荐指数
1
解决办法
4810
查看次数