fix: left-click on a game in the carousel window selects it.
This commit is contained in:
parent
eee736d8d4
commit
67e93100e6
|
@ -171,9 +171,9 @@ public class CoverPanel extends JPanel
|
|||
}
|
||||
}
|
||||
|
||||
private JLabel getLabel(int index)
|
||||
private GameLabel getLabel(int index)
|
||||
{
|
||||
JLabel label = new JLabel();
|
||||
GameLabel label = new GameLabel();
|
||||
label.setPreferredSize(new Dimension(125, 175));
|
||||
if (index == 4)
|
||||
{
|
||||
|
@ -192,6 +192,20 @@ public class CoverPanel extends JPanel
|
|||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
label.addMouseListener(new MouseAdapter()
|
||||
{
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e)
|
||||
{
|
||||
if (SwingUtilities.isLeftMouseButton(e) && e.getClickCount() == 1)
|
||||
{
|
||||
mainWindow.setSelectedGameInGameList(label.getGameId());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
return label;
|
||||
}
|
||||
|
||||
|
@ -228,7 +242,7 @@ public class CoverPanel extends JPanel
|
|||
for (int i = 0; i < games.size(); i++)
|
||||
{
|
||||
GameDetails game = games.get(i);
|
||||
loadScreen((JLabel) panel.getComponent(i), game);
|
||||
loadScreen((GameLabel) panel.getComponent(i), game);
|
||||
}
|
||||
scrollToPosition();
|
||||
panel.setVisible(true);
|
||||
|
@ -247,7 +261,7 @@ public class CoverPanel extends JPanel
|
|||
{
|
||||
if (games.indexOf(model.getSelectedGame()) == i)
|
||||
{
|
||||
JLabel selectedLabel = (JLabel) panel.getComponent(i);
|
||||
GameLabel selectedLabel = (GameLabel) panel.getComponent(i);
|
||||
selectedLabel.setBorder(BorderFactory.createLineBorder(Color.YELLOW, 5));
|
||||
loadScreenForBorder(selectedLabel, games.get(i));
|
||||
}
|
||||
|
@ -262,7 +276,7 @@ public class CoverPanel extends JPanel
|
|||
}
|
||||
}
|
||||
|
||||
private void loadScreen(JLabel label, GameDetails game)
|
||||
private void loadScreen(GameLabel label, GameDetails game)
|
||||
{
|
||||
String filename = game.getCover();
|
||||
File imagefile = new File("./covers/" + filename);
|
||||
|
@ -271,6 +285,7 @@ public class CoverPanel extends JPanel
|
|||
BufferedImage image = ImageIO.read(imagefile);
|
||||
Image newImage = image.getScaledInstance(125, 175, Image.SCALE_SMOOTH);
|
||||
label.setIcon(new ImageIcon(newImage));
|
||||
label.setGameId(game.getGameId());
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
|
@ -278,7 +293,7 @@ public class CoverPanel extends JPanel
|
|||
}
|
||||
}
|
||||
|
||||
private void loadScreenForBorder(JLabel label, GameDetails game)
|
||||
private void loadScreenForBorder(GameLabel label, GameDetails game)
|
||||
{
|
||||
String filename = game.getCover();
|
||||
File imagefile = new File("./covers/" + filename);
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
package se.lantz.gui.carousel;
|
||||
|
||||
import javax.swing.JLabel;
|
||||
|
||||
public class GameLabel extends JLabel
|
||||
{
|
||||
private String gameId = "";
|
||||
|
||||
public GameLabel()
|
||||
{
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
|
||||
public void setGameId(String gameId)
|
||||
{
|
||||
this.gameId = gameId;
|
||||
}
|
||||
|
||||
public String getGameId()
|
||||
{
|
||||
return this.gameId;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue