|
@@ -13,14 +13,13 @@ import javax.swing.JFileChooser;
|
|
|
public class Controls extends JPanel implements Observer, Serializable
|
|
|
{
|
|
|
private Model model;
|
|
|
- private JSlider rating;
|
|
|
private JRadioButton grid;
|
|
|
private JRadioButton list;
|
|
|
private class customListener implements ActionListener
|
|
|
{
|
|
|
public void actionPerformed(ActionEvent e)
|
|
|
{
|
|
|
- if (e.getSource() ==grid)
|
|
|
+ if (e.getSource() == grid)
|
|
|
{
|
|
|
grid.setSelected(true);
|
|
|
list.setSelected(false);
|
|
@@ -34,17 +33,187 @@ public class Controls extends JPanel implements Observer, Serializable
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ private class customListener2 implements ActionListener
|
|
|
+ {
|
|
|
+ public void actionPerformed(ActionEvent e)
|
|
|
+ {
|
|
|
+ if (e.getSource() == star1)
|
|
|
+ {
|
|
|
+ if (star1.isSelected())
|
|
|
+ {
|
|
|
+ star1.setSelected(false);
|
|
|
+ star2.setSelected(false);
|
|
|
+ star3.setSelected(false);
|
|
|
+ star4.setSelected(false);
|
|
|
+ star5.setSelected(false);
|
|
|
+ star1.setIcon(emptyStarIcon);
|
|
|
+ star2.setIcon(emptyStarIcon);
|
|
|
+ star3.setIcon(emptyStarIcon);
|
|
|
+ star4.setIcon(emptyStarIcon);
|
|
|
+ star5.setIcon(emptyStarIcon);
|
|
|
+ model.changeFilter(0);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ star1.setSelected(true);
|
|
|
+ star2.setSelected(false);
|
|
|
+ star3.setSelected(false);
|
|
|
+ star4.setSelected(false);
|
|
|
+ star5.setSelected(false);
|
|
|
+ star1.setIcon(fullStarIcon);
|
|
|
+ star2.setIcon(emptyStarIcon);
|
|
|
+ star3.setIcon(emptyStarIcon);
|
|
|
+ star4.setIcon(emptyStarIcon);
|
|
|
+ star5.setIcon(emptyStarIcon);
|
|
|
+ model.changeFilter(1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (e.getSource() == star2)
|
|
|
+ {
|
|
|
+ if (star1.isSelected())
|
|
|
+ {
|
|
|
+ star1.setSelected(false);
|
|
|
+ star2.setSelected(false);
|
|
|
+ star3.setSelected(false);
|
|
|
+ star4.setSelected(false);
|
|
|
+ star5.setSelected(false);
|
|
|
+ star1.setIcon(emptyStarIcon);
|
|
|
+ star2.setIcon(emptyStarIcon);
|
|
|
+ star3.setIcon(emptyStarIcon);
|
|
|
+ star4.setIcon(emptyStarIcon);
|
|
|
+ star5.setIcon(emptyStarIcon);
|
|
|
+ model.changeFilter(0);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ star1.setSelected(true);
|
|
|
+ star2.setSelected(true);
|
|
|
+ star3.setSelected(false);
|
|
|
+ star4.setSelected(false);
|
|
|
+ star5.setSelected(false);
|
|
|
+ star1.setIcon(fullStarIcon);
|
|
|
+ star2.setIcon(fullStarIcon);
|
|
|
+ star3.setIcon(emptyStarIcon);
|
|
|
+ star4.setIcon(emptyStarIcon);
|
|
|
+ star5.setIcon(emptyStarIcon);
|
|
|
+ model.changeFilter(2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (e.getSource() == star3)
|
|
|
+ {
|
|
|
+ if (star1.isSelected())
|
|
|
+ {
|
|
|
+ star1.setSelected(false);
|
|
|
+ star2.setSelected(false);
|
|
|
+ star3.setSelected(false);
|
|
|
+ star4.setSelected(false);
|
|
|
+ star5.setSelected(false);
|
|
|
+ star1.setIcon(emptyStarIcon);
|
|
|
+ star2.setIcon(emptyStarIcon);
|
|
|
+ star3.setIcon(emptyStarIcon);
|
|
|
+ star4.setIcon(emptyStarIcon);
|
|
|
+ star5.setIcon(emptyStarIcon);
|
|
|
+ model.changeFilter(0);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ star1.setSelected(true);
|
|
|
+ star2.setSelected(true);
|
|
|
+ star3.setSelected(true);
|
|
|
+ star4.setSelected(false);
|
|
|
+ star5.setSelected(false);
|
|
|
+ star1.setIcon(fullStarIcon);
|
|
|
+ star2.setIcon(fullStarIcon);
|
|
|
+ star3.setIcon(fullStarIcon);
|
|
|
+ star4.setIcon(emptyStarIcon);
|
|
|
+ star5.setIcon(emptyStarIcon);
|
|
|
+ model.changeFilter(3);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (e.getSource() == star4)
|
|
|
+ {
|
|
|
+ if (star1.isSelected())
|
|
|
+ {
|
|
|
+ star1.setSelected(false);
|
|
|
+ star2.setSelected(false);
|
|
|
+ star3.setSelected(false);
|
|
|
+ star4.setSelected(false);
|
|
|
+ star5.setSelected(false);
|
|
|
+ star1.setIcon(emptyStarIcon);
|
|
|
+ star2.setIcon(emptyStarIcon);
|
|
|
+ star3.setIcon(emptyStarIcon);
|
|
|
+ star4.setIcon(emptyStarIcon);
|
|
|
+ star5.setIcon(emptyStarIcon);
|
|
|
+ model.changeFilter(0);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ star1.setSelected(true);
|
|
|
+ star2.setSelected(true);
|
|
|
+ star3.setSelected(true);
|
|
|
+ star4.setSelected(true);
|
|
|
+ star5.setSelected(false);
|
|
|
+ star1.setIcon(fullStarIcon);
|
|
|
+ star2.setIcon(fullStarIcon);
|
|
|
+ star3.setIcon(fullStarIcon);
|
|
|
+ star4.setIcon(fullStarIcon);
|
|
|
+ star5.setIcon(emptyStarIcon);
|
|
|
+ model.changeFilter(4);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (star1.isSelected())
|
|
|
+ {
|
|
|
+ star1.setSelected(false);
|
|
|
+ star2.setSelected(false);
|
|
|
+ star3.setSelected(false);
|
|
|
+ star4.setSelected(false);
|
|
|
+ star5.setSelected(false);
|
|
|
+ star1.setIcon(emptyStarIcon);
|
|
|
+ star2.setIcon(emptyStarIcon);
|
|
|
+ star3.setIcon(emptyStarIcon);
|
|
|
+ star4.setIcon(emptyStarIcon);
|
|
|
+ star5.setIcon(emptyStarIcon);
|
|
|
+ model.changeFilter(0);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ star1.setSelected(true);
|
|
|
+ star2.setSelected(true);
|
|
|
+ star3.setSelected(true);
|
|
|
+ star4.setSelected(true);
|
|
|
+ star5.setSelected(true);
|
|
|
+ star1.setIcon(fullStarIcon);
|
|
|
+ star2.setIcon(fullStarIcon);
|
|
|
+ star3.setIcon(fullStarIcon);
|
|
|
+ star4.setIcon(fullStarIcon);
|
|
|
+ star5.setIcon(fullStarIcon);
|
|
|
+ model.changeFilter(5);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
private customListener customlistener;
|
|
|
+ private customListener customlistener2;
|
|
|
private ButtonGroup layouts;
|
|
|
- private Image starImg;
|
|
|
+ private ButtonGroup stars;
|
|
|
+ private Image emptyStarImg;
|
|
|
+ private Image fullStarImg
|
|
|
private Image gridImg;
|
|
|
private Image listImg;
|
|
|
private Image folderImg;
|
|
|
- private ImageIcon starIcon;
|
|
|
+ private ImageIcon emptyStarIcon;
|
|
|
+ private ImageIcon fullStarIcon;
|
|
|
private ImageIcon gridIcon;
|
|
|
private ImageIcon listIcon;
|
|
|
private ImageIcon folderIcon;
|
|
|
private JButton fileButton;
|
|
|
+ private JRadioButton star1;
|
|
|
+ private JRadioButton star2;
|
|
|
+ private JRadioButton star3;
|
|
|
+ private JRadioButton star4;
|
|
|
+ private JRadioButton star5;
|
|
|
private JFileChooser fileChooser;
|
|
|
|
|
|
// Bob the Builder this shit
|
|
@@ -52,6 +221,7 @@ public class Controls extends JPanel implements Observer, Serializable
|
|
|
{
|
|
|
this.model = model;
|
|
|
this.customlistener = new customListener();
|
|
|
+ this.customlistener2 = new customListener2();
|
|
|
this.setBackground(new Color(255, 75, 50));
|
|
|
this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
|
|
|
this.setPreferredSize(new Dimension(1280,75));
|
|
@@ -59,7 +229,12 @@ public class Controls extends JPanel implements Observer, Serializable
|
|
|
|
|
|
try
|
|
|
{
|
|
|
- this.starImg = ImageIO.read(new File("src/main/resources/star.png"));
|
|
|
+ this.fullStarImg = ImageIO.read(new File("src/main/resources/fullStar.png"));
|
|
|
+ } catch(IOException e) {}
|
|
|
+
|
|
|
+ try
|
|
|
+ {
|
|
|
+ this.emptyStarImg = ImageIO.read(new File("src/main/resources/emptyStar.png"));
|
|
|
} catch(IOException e) {}
|
|
|
|
|
|
try
|
|
@@ -78,11 +253,13 @@ public class Controls extends JPanel implements Observer, Serializable
|
|
|
} catch(IOException e) {}
|
|
|
|
|
|
|
|
|
- this.starImg = starImg.getScaledInstance(50, 50, java.awt.Image.SCALE_SMOOTH);
|
|
|
+ this.fullStarImg = fullStarImg.getScaledInstance(50, 50, java.awt.Image.SCALE_SMOOTH);
|
|
|
+ this.emptyStarImg = emptyStarImg.getScaledInstance(50, 50, java.awt.Image.SCALE_SMOOTH);
|
|
|
this.gridImg = gridImg.getScaledInstance(50, 50, java.awt.Image.SCALE_SMOOTH);
|
|
|
this.listImg = listImg.getScaledInstance(50, 50, java.awt.Image.SCALE_SMOOTH);
|
|
|
this.folderImg = folderImg.getScaledInstance(50, 50, java.awt.Image.SCALE_SMOOTH);
|
|
|
- this.starIcon = new ImageIcon(starImg);
|
|
|
+ this.fullStarIcon = new ImageIcon(fullStarImg);
|
|
|
+ this.emptyStarIcon = new ImageIcon(emptyStarImg);
|
|
|
this.gridIcon = new ImageIcon(gridImg);
|
|
|
this.listIcon = new ImageIcon(listImg);
|
|
|
this.folderIcon = new ImageIcon(folderImg);
|
|
@@ -118,19 +295,35 @@ public class Controls extends JPanel implements Observer, Serializable
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- this.rating = new JSlider(0, 5, 0);
|
|
|
- rating.addChangeListener(new ChangeListener()
|
|
|
- {
|
|
|
- public void stateChanged(ChangeEvent e)
|
|
|
- {
|
|
|
- model.changeFilter(rating.getValue());
|
|
|
- }
|
|
|
- });
|
|
|
- this.rating.setPreferredSize(new Dimension(280, 75));
|
|
|
+ this.star1 = new JRadioButton(emptyStar, false);
|
|
|
+ star1.addActionListener(customlistener2);
|
|
|
+ this.star2 = new JRadioButton(emptyStar, false);
|
|
|
+ star2.addActionListener(customlistener2);
|
|
|
+ this.star3 = new JRadioButton(emptyStar, false);
|
|
|
+ star3.addActionListener(customlistener2);
|
|
|
+ this.star4 = new JRadioButton(emptyStar, false);
|
|
|
+ star4.addActionListener(customlistener2);
|
|
|
+ this.star5 = new JRadioButton(emptyStar, false);
|
|
|
+ star5.addActionListener(customlistener2);
|
|
|
+ this.stars = new ButtonGroup();
|
|
|
+ stars.add(star1);
|
|
|
+ stars.add(star2);
|
|
|
+ stars.add(star3);
|
|
|
+ stars.add(star4);
|
|
|
+ stars.add(star5);
|
|
|
+ star1.setSelected(false);
|
|
|
+ star2.setSelected(false);
|
|
|
+ star3.setSelected(false);
|
|
|
+ star4.setSelected(false);
|
|
|
+ star5.setSelected(false);
|
|
|
|
|
|
this.add(grid);
|
|
|
this.add(list);
|
|
|
- this.add(rating);
|
|
|
+ this.add(star1);
|
|
|
+ this.add(star2);
|
|
|
+ this.add(star3);
|
|
|
+ this.add(star4);
|
|
|
+ this.add(star5);
|
|
|
this.add(fileButton);
|
|
|
model.addObserver(this);
|
|
|
}
|