Browse Source
- aktuelle Einstellungen werden beim Scannen nicht gespeichert - Seitenzähler wird nicht direkt beim reaktivieren des Scan-Buttons hochgezählt, sondern erst wenn die komplette Verarbeitung der aktuellen Seite durch ist Signed-off-by: Stephan Richter <s.richter@srsoftware.de>main
11 changed files with 601 additions and 61 deletions
@ -1,47 +1,47 @@
@@ -1,47 +1,47 @@
|
||||
package de.srsoftware.belegscanner.gui; |
||||
|
||||
import de.srsoftware.belegscanner.Worker; |
||||
|
||||
import javax.swing.*; |
||||
import java.awt.*; |
||||
|
||||
import static de.srsoftware.belegscanner.Application.t; |
||||
import static java.awt.BorderLayout.CENTER; |
||||
import static java.awt.BorderLayout.EAST; |
||||
import static java.awt.BorderLayout.NORTH; |
||||
import static java.awt.BorderLayout.WEST; |
||||
|
||||
public class ResolutionSelector extends JPanel{ |
||||
|
||||
private int resolution = 150; |
||||
|
||||
public ResolutionSelector() { |
||||
private final Worker worker; |
||||
public ResolutionSelector(Worker worker) { |
||||
super(new BorderLayout()); |
||||
this.worker = worker; |
||||
; |
||||
ButtonGroup group = new ButtonGroup(); |
||||
JLabel label = new JLabel(t("current resolution") + ": " + resolution + "px"); |
||||
JLabel label = new JLabel(t("current resolution") + ": " + worker.setResolution(150) + "px"); |
||||
add(label, NORTH); |
||||
add(resolutionButton(group, label, 150), WEST); |
||||
add(resolutionButton(group, label, 300), CENTER); |
||||
add(resolutionButton(group, label, 600), BorderLayout.EAST); |
||||
add(resolutionButton(group, label, 600), EAST); |
||||
setMaximumSize(new Dimension(600, 200)); |
||||
} |
||||
|
||||
public int resolutiion(){ |
||||
return resolution; |
||||
} |
||||
|
||||
/** |
||||
* create one radio button for the resoultionSelector |
||||
* @param group |
||||
* @param label |
||||
* @param i |
||||
* @param resolution |
||||
* @return |
||||
*/ |
||||
private JRadioButton resolutionButton(ButtonGroup group, JLabel label, int i) { |
||||
JRadioButton btn = new JRadioButton(i+" px"); |
||||
private JRadioButton resolutionButton(ButtonGroup group, JLabel label, int resolution) { |
||||
JRadioButton btn = new JRadioButton(resolution+" px"); |
||||
btn.addActionListener(ev -> { |
||||
resolution = i; |
||||
label.setText("aktuelle Auflösung: "+resolution+"px"); |
||||
label.setText("aktuelle Auflösung: "+worker.setResolution(resolution)+"px"); |
||||
}); |
||||
group.add(btn); |
||||
if (i==150) btn.setSelected(true); |
||||
if (resolution==150) btn.setSelected(true); |
||||
return btn; |
||||
} |
||||
} |
||||
|
@ -0,0 +1,48 @@
@@ -0,0 +1,48 @@
|
||||
package de.srsoftware.belegscanner.gui; |
||||
|
||||
import de.srsoftware.belegscanner.Worker; |
||||
|
||||
import javax.swing.*; |
||||
import java.awt.*; |
||||
|
||||
import static de.srsoftware.belegscanner.Application.t; |
||||
import static java.awt.BorderLayout.CENTER; |
||||
import static java.awt.BorderLayout.NORTH; |
||||
import static java.awt.BorderLayout.WEST; |
||||
|
||||
public class RotationSelector extends JPanel { |
||||
|
||||
private final Worker worker; |
||||
private final JRadioButton noRotation; |
||||
|
||||
public RotationSelector(Worker worker) { |
||||
setLayout(new BoxLayout(this,BoxLayout.X_AXIS)); |
||||
this.worker = worker; |
||||
ButtonGroup group = new ButtonGroup(); |
||||
worker.setRotation(0); |
||||
add(noRotation = rotatatonButton(group, 0)); |
||||
add(rotatatonButton(group, 90)); |
||||
add(rotatatonButton(group, 180)); |
||||
add(rotatatonButton(group, -90)); |
||||
noRotation.setSelected(true); |
||||
add(new JLabel(t("Rotation"))); |
||||
setMaximumSize(new Dimension(600, 200)); |
||||
} |
||||
|
||||
|
||||
/** |
||||
* create one radio button for the resoultionSelector |
||||
* @param group |
||||
* @param angle |
||||
* @return |
||||
*/ |
||||
private JRadioButton rotatatonButton(ButtonGroup group, int angle) { |
||||
JRadioButton btn = new JRadioButton(angle+"°"); |
||||
btn.addActionListener(ev -> { |
||||
worker.setRotation(angle); |
||||
}); |
||||
group.add(btn); |
||||
if (angle==150) btn.setSelected(true); |
||||
return btn; |
||||
} |
||||
} |
Loading…
Reference in new issue