|
@@ -4,10 +4,12 @@ import java.awt.BorderLayout;
|
|
|
import java.awt.Color;
|
|
|
import java.awt.FlowLayout;
|
|
|
import java.awt.Image;
|
|
|
+import java.awt.Point;
|
|
|
import java.awt.event.ActionEvent;
|
|
|
import java.awt.event.ActionListener;
|
|
|
import java.awt.event.MouseAdapter;
|
|
|
import java.awt.event.MouseEvent;
|
|
|
+import java.awt.event.MouseListener;
|
|
|
|
|
|
import javax.swing.ImageIcon;
|
|
|
import javax.swing.JButton;
|
|
@@ -21,9 +23,7 @@ import javax.swing.event.CaretEvent;
|
|
|
import javax.swing.event.CaretListener;
|
|
|
import javax.swing.event.ChangeEvent;
|
|
|
import javax.swing.event.ChangeListener;
|
|
|
-import javax.swing.plaf.SliderUI;
|
|
|
import javax.swing.plaf.basic.BasicSliderUI;
|
|
|
-import javax.swing.plaf.metal.MetalSliderUI;
|
|
|
import javax.swing.plaf.synth.SynthSliderUI;
|
|
|
|
|
|
import ui.controller.Control;
|
|
@@ -43,7 +43,29 @@ public class TimePanel extends JPanel {
|
|
|
|
|
|
JLabel simSpeedLabel = new JLabel(Languages.getLanguage()[84]);
|
|
|
private JTextField simSpeedText = new JTextField("1000");
|
|
|
- JSlider timeSlider = new JSlider();
|
|
|
+ JSlider timeSlider = new JSlider(){
|
|
|
+ {
|
|
|
+
|
|
|
+ MouseListener[] listeners = getMouseListeners();
|
|
|
+ for (MouseListener l : listeners)
|
|
|
+ removeMouseListener(l);
|
|
|
+ final BasicSliderUI ui = (BasicSliderUI) getUI();
|
|
|
+ BasicSliderUI.TrackListener tl = ui.new TrackListener() {
|
|
|
+
|
|
|
+ @Override public void mouseClicked(MouseEvent e) {
|
|
|
+ Point p = e.getPoint();
|
|
|
+ int value = ui.valueForXPosition(p.x);
|
|
|
+
|
|
|
+ setValue(value);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override public boolean shouldScroll(int dir) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ };
|
|
|
+ addMouseListener(tl);
|
|
|
+ }
|
|
|
+ };;
|
|
|
private final JPanel timeBtnPanel = new JPanel();
|
|
|
final JButton playBtn = new JButton();
|
|
|
final JButton timeResetBtn = new JButton();
|
|
@@ -212,19 +234,6 @@ public class TimePanel extends JPanel {
|
|
|
|
|
|
this.add(timeBtnPanel, BorderLayout.WEST);
|
|
|
this.add(timeSlider);
|
|
|
-
|
|
|
-
|
|
|
- timeSlider.setUI(new SynthSliderUI(timeSlider) {
|
|
|
- protected void scrollDueToClickInTrack(int direction) {
|
|
|
- int value = timeSlider.getValue();
|
|
|
- if (timeSlider.getOrientation() == JSlider.HORIZONTAL) {
|
|
|
- value = this.valueForXPosition(timeSlider.getMousePosition().x);
|
|
|
- } else if (timeSlider.getOrientation() == JSlider.VERTICAL) {
|
|
|
- value = ((BasicSliderUI)this).valueForYPosition(timeSlider.getMousePosition().y);
|
|
|
- }
|
|
|
- timeSlider.setValue(value);
|
|
|
- }
|
|
|
- });
|
|
|
}
|
|
|
|
|
|
|