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!