java swing jframe paint paintcomponent

java - El método de componente de pintura no funciona para JFrame



swing paint (1)

Intento pintar una imagen en la pantalla después de intentar usar JLabel y ahora estoy probando el método paintComponent. Intenté insertar puntos de interrupción después de no ver los resultados y el método no se llama, y ​​no aparece nada. ¿Que debería hacer? Aquí está mi código importante-

`

public void createWindow(){ frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.pack(); frame.setSize(xSize, ySize); frame.setLocation(0, 0); frame.addComponentListener(this); //frame.add(im); }

public void paintComponent(Graphics g) { super.paintComponent(g); g.drawImage(placeholder, 0, 0, getWidth(), getHeight(), null); g.drawString("Hello", 100, 100); }

También estoy usando un JFrame en lugar de JPanel o componente si eso hace la diferencia.


JFrame no tiene un método paintComponent . Debe evitar pintar directamente en un marco y en su lugar utilizar un JPanel y anular su método paintComponent

También debe hacer uso de la anotación @Override, que generará una excepción de compilación si la clase principal no tiene el método que está intentando anular ...