Я новичок в Swing.Я хочу написать программу, которая читает файл и рисует что-то в зависимости от данных, прочитанных из файла.
Я проверил учебники, и они вызывают методы рисования в paint ().Поэтому я добавил код для чтения файла тоже в методе paint ().Однако я заметил, что метод paint () может вызываться несколько раз.Таким образом, файл будет читаться каждый раз, когда вызывается метод paint ().
Я хочу прочитать файл только один раз.Если я прочитал файл в методе main (), как мне получить доступ к графическому объекту?Или есть какой-то другой подход для решения этой проблемы?
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test extends JPanel {
public void paint(Graphics g) {
// Code to read a file
// Code to draw something depending on the data read from the file
}
public static void main(String[] args) {
JFrame frame = new JFrame("Java 2D Skeleton");
frame.add(new Test());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(280, 240);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}