12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- package ui.view;
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.FlowLayout;
- import java.awt.Image;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.ImageIcon;
- import javax.swing.JButton;
- import javax.swing.JPanel;
- import javax.swing.JSlider;
- import javax.swing.border.LineBorder;
- import ui.controller.Control;
- import ui.model.Model;
- public class TimePanel extends JPanel {
- private Model model;
- private Control controller;
- JSlider timeSlider = new JSlider();
- private final JPanel timePanel = new JPanel();
- private final JPanel timeBtnPanel = new JPanel();
- private final JButton playBtn = new JButton();
- private final JButton timeResetBtn = new JButton();
- private final JButton timeForwardBtn = new JButton();
- private final JButton timeBackwardBtn = new JButton();
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- public TimePanel(Model model, Control controller) {
- super();
- this.model = model;
- //// Time Slider. Panels and Buttons
- this.setLayout(new BorderLayout(0, 0));
- // Slider
- timeSlider.setPaintTicks(true);
- timeSlider.setPaintLabels(true);
- timeSlider.setMinorTickSpacing(1);
- timeSlider.setToolTipText("Time Slider");
- timeSlider.setMinimum(1);
- timeSlider.setMaximum(model.getIterations());
- timeSlider.setValue(1);
- timeSlider.setBackground(Color.WHITE);
- // Buttons
- timeBtnPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0));
- playBtn.setBorder(new LineBorder(Color.WHITE, 4));
- playBtn.setIcon(new ImageIcon(new ImageIcon(this.getClass().getResource("/Button_Images/play.png")).getImage()
- .getScaledInstance(30, 30, Image.SCALE_SMOOTH)));
- timeResetBtn.setBorder(new LineBorder(Color.WHITE, 4));
- timeResetBtn.setIcon(new ImageIcon(new ImageIcon(this.getClass().getResource("/Button_Images/reset.png"))
- .getImage().getScaledInstance(30, 30, Image.SCALE_SMOOTH)));
- timeResetBtn.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent ae) {
- timeSlider.setValue(timeSlider.getMinimum());
- }
- });
- timeForwardBtn.setContentAreaFilled(false);
- timeForwardBtn.setBorder(new LineBorder(Color.WHITE, 4));
- timeForwardBtn.setIcon(new ImageIcon(new ImageIcon(this.getClass().getResource("/Button_Images/forward.png"))
- .getImage().getScaledInstance(30, 30, Image.SCALE_SMOOTH)));
- timeForwardBtn.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent ae) {
- timeSlider.setValue(timeSlider.getValue() + 1);
- }
- });
- timeBackwardBtn.setBorder(new LineBorder(Color.WHITE, 4));
- timeBackwardBtn.setIcon(new ImageIcon(new ImageIcon(this.getClass().getResource("/Button_Images/backward.png"))
- .getImage().getScaledInstance(30, 30, Image.SCALE_SMOOTH)));
- timeBackwardBtn.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent ae) {
- timeSlider.setValue(timeSlider.getValue() - 1);
- }
- });
- timeBtnPanel.add(timeResetBtn);
- timeBtnPanel.add(timeResetBtn);
- timeBtnPanel.add(timeBackwardBtn);
- timeBtnPanel.add(timeForwardBtn);
- this.add(timeBtnPanel, BorderLayout.WEST);
- this.add(timeSlider);
- }
- }
|