Я пытаюсь показать простое изображение с помощью JFrame и JComponent. Я прочитал некоторые из существующих вопросов и ответов, но это бесполезно. Ниже приведены мои коды моих подклассов JComponent и JFrame:Ошибка отображения JFrame
import java.awt.*;
import javax.swing.JComponent;
public class FaceComponent extends JComponent {
public FaceComponent() {
}
public void painComponent(Graphics g) {
g.setColor(Color.WHITE);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(Color.YELLOW);
g.fillOval(60, 60, 200, 200);
g.setColor(Color.MAGENTA);
g.fillOval(90, 100, 40, 20);
g.fillOval(180, 100, 40, 20);
g.setColor(Color.PINK);
g.drawLine(120, 160, 140, 180);
g.drawLine(140, 180, 160, 160);
g.drawLine(120, 160, 140, 200);
g.drawLine(140, 200, 160, 160);
g.setColor(Color.BLACK);
g.setFont(new Font("SansSerif", Font.ITALIC, 24));
g.drawString("Whatsup", 30, 200);
}
}
Вот мой FaceWindow с JFrame импортирован:
import javax.swing.JFrame;
public class FaceWindow {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setTitle("lab09ex1");
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(true);
frame.setVisible(true);
FaceComponent fc = new FaceComponent();
frame.add(fc);
}
}
Но она заканчивается с пустым серым дисплеем экраном вместо того, что я вход в мою программу. Что случилось? Извините, что не задан в этом вопросе, но это единственный способ показать вам текущую ситуацию.
Я не могу даже заметить thattttt! Удивительно, что вы заметили, что сразу после того, как я разместил вопрос! В любом случае thx для вашего ответа :) – tommy
Посмотрите первую «новую» точку для подсказки о том, как ее избежать в будущем;) – MadProgrammer