package com.baselet.gui.listener; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseWheelEvent; import java.awt.event.MouseWheelListener; import javax.swing.JComboBox; import com.baselet.control.Main; import com.baselet.gui.CurrentGui; public class PaletteComboBoxListener implements ActionListener, MouseWheelListener { @Override public void actionPerformed(ActionEvent e) { if (e.getSource() instanceof JComboBox) { String paletteName = ((JComboBox) e.getSource()).getSelectedItem().toString(); CurrentGui.getInstance().getGui().showPalette(paletteName); setZoom(); } } @Override public void mouseWheelMoved(MouseWheelEvent e) { if (e.getSource() instanceof JComboBox) { JComboBox comboBox = (JComboBox) e.getSource(); int newIndex = comboBox.getSelectedIndex() + e.getWheelRotation(); // wheelrotation is -1 (up) or +1 (down) if (comboBox.getItemAt(newIndex) != null) { String newSelectedItem = comboBox.getItemAt(newIndex).toString(); CurrentGui.getInstance().getGui().showPalette(newSelectedItem); comboBox.setSelectedIndex(newIndex); setZoom(); } } } private void setZoom() { if (Main.getInstance().getPalette() != null) { int factor = Main.getInstance().getPalette().getGridSize(); CurrentGui.getInstance().getGui().setValueOfZoomDisplay(factor); } } }