Я скопировал примеры прямо из книги. Код должен сделать пару вещей на JFrame, но ничего не отображается (кроме JFrame) Вот класс с основным методомJPanel не отображается
import java.awt.BorderLayout;
import javax.swing.JFrame;
public class JavaApplication24 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
JFrame frame = new JFrame("Window");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(480,270);
frame.setVisible(true);
NewClass panel = new NewClass();
frame.add(BorderLayout.CENTER, panel);
}
Вот подкласс JPanel
import java.awt.Graphics;
import java.awt.Color;
import javax.swing.JPanel;
public class NewClass extends JPanel {
@Override
public void paintComponent(Graphics g){
g.setColor(Color.BLUE);
g.fillRect(0,0,100,100);
g.setColor(Color.GREEN);
g.drawRect(50,50,100,100);
g.setColor(Color.RED);
g.drawString("Hello",200,200);
g.setColor(Color.RED);
g.fillOval(240,40,100,30);
}
}
одна вещь, которую я сделал теперь понимаю, что нарисованные изображения показывают только когда Я устанавливаю размеры для setSize() как нечто большее, например setSize (1500,1500); –