繰り返しますが、私が推奨したことに従ってください。
JApplet で直接描画するのではなく、JPanel またはその contentPane (JPanel) で描画するようにしてください。この JPanel の paintComponent(...) メソッドで必ず描画してください。
そしてそれは動作します:
import java.awt.*;
import java.awt.event.*;
import java.lang.reflect.InvocationTargetException;
import javax.swing.*;
public class Test2 extends JApplet {
public void init() {
try {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
Test2BPanel panel = new Test2BPanel();
setContentPane(panel);
}
});
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
class Test2BPanel extends JPanel {
private String[] backgroundImageFileNames = { "test", "test", "test" };
private JButton refreshButton;
private JComboBox backgroundList;
public Test2BPanel() {
setBackground(Color.white);
setLayout(new FlowLayout());
refreshButton = new JButton("replant new forest");
refreshButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
}
});
add(refreshButton);
backgroundList = new JComboBox(backgroundImageFileNames);
backgroundList.setSelectedIndex(2);
add(backgroundList);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
paintIt(g);
}
public void paintIt(Graphics g) {
for (int i = 0; i < 200; i++) {
for (int j = 0; j < 200; j++) {
g.setColor(Color.red);
g.drawOval(10 * i, j, 10, 10);
}
}
}
}
また、基本的なペイントのチュートリアルと高度なペイントのチュートリアルを含む Swing のペイントのチュートリアルも確認してください。
これに関する優れた書籍については、 Chet Haase と Romain Guy によるFilthy Rich Clientsの購入を検討してください。あなたは購入を後悔しません!これは、私が所有する最高の Java 書籍の 1 つです。