Pessoal, eu to com uma dúvida básica aqui com classes. Criei uma classe “DefaultFrame” com todas as características que eu gostaria de ter em um frame
import javax.swing.*;
import java.awt.*;
public class DefaultFrame {
 
    JFrame frame = new JFrame("Background Example");
    final ImageIcon imageIcon = new ImageIcon("oi.jpg");
    JTextArea textArea = new JTextArea() {
      Image image = imageIcon.getImage();
      Image grayImage = GrayFilter.createDisabledImage(image);
      {setOpaque(false);}  // instance initializer
            @Override
      public void paintComponent (Graphics g) {
        g.drawImage(grayImage, 0, 0, this);
        super.paintComponent(g);
      }
    };
    JScrollPane scrollPane = new JScrollPane(textArea);
    Container content = frame.getContentPane();
    content.add(scrollPane, BorderLayout.CENTER);
    frame.setDefaultCloseOperation(3);
    frame.setSize(250, 250);
    frame.setVisible(true);
    
  }
}
Se eu colocar um método Main e executar, ele roda perfeito, do jeito que eu quero. Mas não estou sabendo implementá-lo em outras classes que usam JFrame e eu quero separar a lógica da aplicação da parte visual.
Eu pensava que se apenas colocasse “Classe X extends DefaultFrame”, todas estas opções já estariam presentes no meu Frame. O que preciso fazer para que todo novo frame que eu criar já tenha todas estas características?!
Obrigado!