Hallo zusammen,
ich hab folgendes Problem, das nur unter Windows 7/64bit auftritt (und das in einer größeren Anwendung isoliert wurde):
Klickt man im folgenden Beispiel ins rechte (rote) JPanel wird der Inhalt des linken (grünen) JPanel ins rechte JPanel gezeichnet, obwohl die Methode paintComponent in diesem Fall eigentlich keinerlei Aktionen setzen sollte. Unter Windows 7/32bit ist wie gesagt alles "normal".
Hat jemand eine Idee, warum das passiert. Vorab schon herzlichen Dank für eure Antworten!
ich hab folgendes Problem, das nur unter Windows 7/64bit auftritt (und das in einer größeren Anwendung isoliert wurde):
Klickt man im folgenden Beispiel ins rechte (rote) JPanel wird der Inhalt des linken (grünen) JPanel ins rechte JPanel gezeichnet, obwohl die Methode paintComponent in diesem Fall eigentlich keinerlei Aktionen setzen sollte. Unter Windows 7/32bit ist wie gesagt alles "normal".
Java:
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
class JPanel2 extends JPanel {
JPanel2 () {
setBackground(Color.GREEN);
}
}
class JPanel1 extends JPanel {
boolean mouseClicked=false;
JPanel1() {
setBackground(Color.RED);
addMouseListener(new MouseAdapter() {
@Override public void mouseClicked(MouseEvent e) {
mouseClicked=true;
repaint();
}
});
}
public void paintComponent(Graphics g) {
if (!mouseClicked) super.paintComponent(g);
}
}
public class PaintTest {
public static void main( String[] args ) {
JFrame f = new JFrame();
f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
f.setSize(300,200);
f.setLayout(new GridLayout(0,2));
f.add(new JPanel2());
f.add(new JPanel1());
f.setVisible( true );
}
}
Hat jemand eine Idee, warum das passiert. Vorab schon herzlichen Dank für eure Antworten!