пытается работать на минимально возможном уровне, который он может, он не защищает от этого, он просто дает вам знать, когда это произойдет

ал ответ на этот вопрос, переписывал свой код несколько раз, но все еще ничего. По сути, я пытаюсь нарисовать в JFrame, содержащий простой прямоугольник, но каждый раз, когда ничего не отображается в кадре - он просто пустой.

package com.Graphics;

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

public class GraphicsMain {

    public static void main(String[] args) {

        GraphicsMain myGraphics = new GraphicsMain();

        myGraphics.createDisplay();

    }

    void createDisplay(){

        int width = 500;
        int height = 500;
        String title = "TestFrame";
        Graphics g;

        Canvas myCanvas = new Canvas();
        JFrame myFrame = new JFrame(title);

        myFrame.setVisible(true);
        myFrame.setResizable(false);
        myFrame.setSize(width, height);
        myFrame.setLocationRelativeTo(null);
        myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        myCanvas.setPreferredSize(new Dimension(500, 500));
        myCanvas.setMaximumSize(new Dimension(500, 500));
        myCanvas.setMinimumSize(new Dimension(500, 500));

        myFrame.add(myCanvas);
        myFrame.pack();

        myCanvas.createBufferStrategy(2);

        BufferStrategy bs = myCanvas.getBufferStrategy();

        g = bs.getDrawGraphics();

        g.setColor(Color.red);
        g.fillRect(10, 50, 50, 70);

        bs.show();
        g.dispose();
    }
}

Я понимаю, что соглашения здесь ужасны - для меня это просто практика с графикой. Обычно я разбил бы это на отдельные классы и т. Д. Любая помощь очень ценится. Спасибо.

Ответы на вопрос(0)

Ваш ответ на вопрос