Ramka z tekstem

0

Witam, mam pewien problem. Napisałem prosty program który ma stworzyć ramkę i w niej wyświetlić pewien tekst, lecz program mi się kompiluje, ramka wyświetla, a tekstu nie widać nie wiem w czym jest błąd. Tu jest kod programu. Proszę o pomoc.

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


public class Frame {
	public static void main(String[] args){
		
		EventQueue.invokeLater(new Runnable()
		{
			public void run()
			{
				SimleFrame frame = new SimleFrame();
				frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				frame.setVisible(true);	
			}
		});
		
	}
	
}
import java.awt.*;
import javax.swing.*;


@SuppressWarnings("serial")
public class SimleFrame extends JFrame {
	public SimleFrame()
	{
		Toolkit kit = Toolkit.getDefaultToolkit();
		Dimension a = kit.getScreenSize();
		int screenHeight = a.height;
		int screenWidth = a.width;
		setSize(screenHeight/2, screenWidth/2);
		
		Image img = kit.getImage("icon.gif");
		setIconImage(img);
		setTitle("Helo");
		MyComponent panel = new MyComponent();
		add(panel);
		
	}
} 
 import java.awt.*;

import javax.swing.*;


@SuppressWarnings("serial")
public class MyComponent extends JPanel {

	public void painComponent(Graphics g)
	{
		g.drawString("Helo World", MESSAGE_X, MESSAGE_Y);
	}
	private static final int MESSAGE_X = 5;
	private static final int MESSAGE_Y = 5;
}
1

Metoda powinna sie nazywać paintComponent.

0

Haha, wielkie dzięki. Tyle się naszukałem tego błędu a nie zwróciłem uwagi na podstawową rzecz. :D

0

Możesz sobie na przyszłość oszczędzić takich problemów i stosować adnotację @Override nad metodą którą próbujesz nadpisać, zostaniesz wówczas poinformowany jeżeli nazwa metody będzie nieprawidłowa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1