Похоже на мерцание Q и всплывающей подсказки в Java, если за пределами JFrame?
Постоянно обновляемая облегченная всплывающая подсказка работает нормально, но как только она выходит за пределы окна или становится тяжелой ( отключив легкие всплывающие окна), это мерцающий город.
Попробовал подсказку "-Dsun.awt.noerasebackground=true", которая работает внутри окна, но за счет некоторых рисование артефактов поверх других компонентов (этот пример — просто пустая панель). За пределами окна это не помогает, мерцание по-прежнему ужасное.
Кто-нибудь знает, как решить эту проблему? Или на данный момент это невозможно?
Пример находится в этом коде -->
import java.awt.BorderLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.ToolTipManager;
public class JTooltipFlickerTest extends JFrame {
JPanel panel;
static public void main (final String[] args) {
new JTooltipFlickerTest ();
}
public JTooltipFlickerTest () {
super ();
//ToolTipManager.sharedInstance().setLightWeightPopupEnabled(false);
//ToolTipManager.sharedInstance().setReshowDelay(0);
setTitle (this.getClass().toString());
setSize (1024, 768);
this.getContentPane().setLayout (new BorderLayout());
SwingUtilities.invokeLater (
new Runnable () {
@Override
public void run() {
panel = new JPanel ();
final MouseAdapter ma = new MouseAdapter () {
public void mouseMoved (final MouseEvent e) {
panel.setToolTipText ("x: "+e.getX()+", y: "+e.getY());
}
};
panel.addMouseMotionListener(ma);
//panel.setDoubleBuffered(true);
//panel.createToolTip().setDoubleBuffered(true);
JTooltipFlickerTest.this.getContentPane().add (panel, "Center");
JTooltipFlickerTest.this.setVisible (true);
}
}
);
}
}
Подробнее здесь: https://stackoverflow.com/questions/550 ... eight-mode