Системные спецификации и пример кода в конце этого вклада!
Прежде всего, я новичок в этом форуме. Подскажите пожалуйста, если что-то не так с макетом или самим вопросом. Я также новичок в Linux, Ubuntu и вроде новичка в Java. Я использовал Windows 7 до Ubuntu. Проблема появилась в первую очередь после установки Ubuntu на мою машину.
Задача
При запуске окон анимации в Eclipse с использованием пакета Swing или Java-апплета - анимация является скачкообразной и не плавной. Я покажу вам пример из моего кода очень простой программы, которая состоит из JPanel и JFrame с фоном и 2D-шаром, перемещающимся слева направо. Программа настроена на перерисовку каждые 30 мс. Это не должно быть проблемой для запуска простой графики, как это. Затмение быстрое и плавное в противном случае. Буду признателен за любую помощь или совет, если кто-то сталкивался с чем-то подобным раньше!
То, что я пытался
* искать ошибки или проблемы, связанные с этим, но не находил any
* Установка последних версий Eclipse и последней версии JDK
* Редактирование моего файла eclipse.ini
* Запуск моего кода на компьютере с Windows 7 (Работает нормально)
* установка шмеля и использование nvidia optimus
Система
ОС: Ubuntu 12.04 (точная) 64-разрядная
Память: 5.6 ГиБ, Процессор Intel Core 2,5 ГГц x 4 CPU
Eclipse Juno 4.2.0
Java-версия приносит мне
$ -java version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
мой файл eclipse.ini
[ 111]Пример кода
/////////Sample from the JPanel class /////////
private int y = 200;
private int x = 0;
public testPanel() {
setVisible(true);
setPreferredSize(new Dimension(1500,400));
setBackground(Color.black);
}
public void move() {
x = x+2;
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.green);
g.fillOval(x,y,50,50);
}
}
///////Sample from the JFrame class /////////
private testPanel thePanel = new testPanel();
private Timer t = new Timer(30,this);
public testFrame() {
add(thePanel);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
pack();
t.start();
}
public void actionPerformed(ActionEvent e) {
thePanel.move();
repaint();
}
Редактирование: добавление исключения: когда я наводю курсор мыши (и продолжаю двигать его) над окном приложения, анимация перестает быть нервной. когда я перестаю двигаться, он начинает быть не гладким и не нервным. Кто-нибудь слышал об этом?