Как добавить JPanel к JFrame и рисовать на нем - Java

Узнай цену своей работы

Формулировка задачи:

ПРивет всем, я нашел в интернете кучу вариантов того как можно это сделать. Но дело в том что JFrame я создаю не в коде, а добавляя его к проекту. В этом случае, после того, как я создам производный класс от JPanel, напишу там метод paintComponent, я добавляю его к JFrame, но ничего не рисуется( Если же я создаю JFrame в коде, то все получается, вот пример кода:
import javax.swing.*;
    import java.awt.*;
    import java.awt.geom.*;
    public class X  {
        public static void main( String [] args ) {
             JFrame frame = new JFrame();
             frame.add( new JPanel() {
                 public void paintComponent( Graphics g ) {
                    super.paintComponent(g);
                    Graphics2D g2 = (Graphics2D)g;
 
                    Line2D line = new Line2D.Double(10, 10, 40, 40);
                    g2.setColor(Color.blue);
                    g2.setStroke(new BasicStroke(10));
                    g2.draw(line);
                 }
            });
            frame.setVisible( true );
        }
    }
Пожалуйста, подскажите, что нужно сделать с JFrame? Просто всякие кнопочки, менюшки и пр. удобнее в конструкторе набрасывать, чем писать код

Решение задачи: «Как добавить JPanel к JFrame и рисовать на нем»

textual
Листинг программы
class MyJPanel extends JPanel {
  MyJPanel() {
    super();
    //...
  }
}
 
...
public class X  {
  public static void main( String [] args ) {
    JFrame frame = new Frame();
    MyJPanel pnl = new MyJPanel();
    frame.add(pnl) {
    //вот на ней можно рисовать...
    
...

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы