|
|
|
@ -17,10 +17,12 @@ import java.util.stream.Collectors;
@@ -17,10 +17,12 @@ import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
import javax.swing.Box; |
|
|
|
|
import javax.swing.BoxLayout; |
|
|
|
|
import javax.swing.ButtonGroup; |
|
|
|
|
import javax.swing.JButton; |
|
|
|
|
import javax.swing.JComponent; |
|
|
|
|
import javax.swing.JLabel; |
|
|
|
|
import javax.swing.JPanel; |
|
|
|
|
import javax.swing.JRadioButton; |
|
|
|
|
import javax.swing.JTextField; |
|
|
|
|
import javax.swing.border.EmptyBorder; |
|
|
|
|
|
|
|
|
@ -85,6 +87,7 @@ public class Toolbar extends JPanel {
@@ -85,6 +87,7 @@ public class Toolbar extends JPanel {
|
|
|
|
|
private JTextField width; |
|
|
|
|
private JTextField height; |
|
|
|
|
private SelectComboBox catPicker; |
|
|
|
|
private int resolution = 150; |
|
|
|
|
|
|
|
|
|
public Toolbar(Configuration config) { |
|
|
|
|
this.config = config; |
|
|
|
@ -93,12 +96,38 @@ public class Toolbar extends JPanel {
@@ -93,12 +96,38 @@ public class Toolbar extends JPanel {
|
|
|
|
|
add(input("Kategorie",catPicker = categoryPicker(config))); |
|
|
|
|
add(input("Pfad",pathPicker = pathPicker())); |
|
|
|
|
addFormatSelector(); |
|
|
|
|
add(resolutionSelector()); |
|
|
|
|
add(scanButton()); |
|
|
|
|
add(Box.createGlue()); |
|
|
|
|
Arrays.stream(getComponents()).filter(c -> c instanceof JPanel).map(JPanel.class::cast).forEach(p -> p.setBorder(BORDER)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private JPanel resolutionSelector() { |
|
|
|
|
ButtonGroup group = new ButtonGroup(); |
|
|
|
|
JPanel resolutionSelector = new JPanel(new BorderLayout()); |
|
|
|
|
JLabel label = new JLabel("aktuelle Auflösung: "+resolution+"px"); |
|
|
|
|
resolutionSelector.add(label, BorderLayout.NORTH); |
|
|
|
|
resolutionSelector.add(resolutionButton(group,label,150),BorderLayout.WEST); |
|
|
|
|
resolutionSelector.add(resolutionButton(group,label,300),BorderLayout.CENTER); |
|
|
|
|
resolutionSelector.add(resolutionButton(group,label,600),BorderLayout.EAST); |
|
|
|
|
resolutionSelector.setMaximumSize(new Dimension(600,200)); |
|
|
|
|
return resolutionSelector; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private JRadioButton resolutionButton(ButtonGroup group, JLabel label, int i) { |
|
|
|
|
JRadioButton btn = new JRadioButton(i+" px"); |
|
|
|
|
btn.addActionListener(ev -> { |
|
|
|
|
resolution = i; |
|
|
|
|
label.setText("aktuelle Auflösung: "+resolution+"px"); |
|
|
|
|
}); |
|
|
|
|
group.add(btn); |
|
|
|
|
if (i==150) btn.setSelected(true); |
|
|
|
|
return btn; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void addFormatSelector() { |
|
|
|
|
JPanel dummy = new JPanel(); |
|
|
|
|
dummy.setLayout(new BorderLayout()); |
|
|
|
@ -317,4 +346,9 @@ public class Toolbar extends JPanel {
@@ -317,4 +346,9 @@ public class Toolbar extends JPanel {
|
|
|
|
|
LOG.debug("updatePath({})",newPath); |
|
|
|
|
pathListeners.forEach(l -> l.setPath(newPath)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public int getResolution() { |
|
|
|
|
return resolution; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|