You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.6 KiB
49 lines
1.6 KiB
package de.srsoftware.belegscanner.gui; |
|
|
|
import de.srsoftware.belegscanner.Configuration; |
|
import de.srsoftware.belegscanner.Worker; |
|
|
|
import javax.swing.*; |
|
import java.awt.*; |
|
|
|
import static de.srsoftware.belegscanner.Application.t; |
|
import static de.srsoftware.belegscanner.Constants.CONFIG_TARGET; |
|
import static de.srsoftware.belegscanner.Constants.JPG; |
|
import static de.srsoftware.belegscanner.Constants.OCR; |
|
import static de.srsoftware.belegscanner.Constants.PDF; |
|
import static java.awt.BorderLayout.CENTER; |
|
import static java.awt.BorderLayout.NORTH; |
|
import static java.awt.BorderLayout.WEST; |
|
|
|
public class TypeSelector extends JPanel { |
|
|
|
private final Worker worker; |
|
|
|
public TypeSelector(Worker worker){ |
|
super(new BorderLayout()); |
|
this.worker = worker; |
|
ButtonGroup group = new ButtonGroup(); |
|
JLabel label = new JLabel(t("Target type")); |
|
String target = worker.getType(); |
|
add(label, NORTH); |
|
add(typeButton(group,t(JPG),target), WEST); |
|
add(typeButton(group,t(PDF),target), CENTER); |
|
add(typeButton(group,t(OCR),target),BorderLayout.EAST); |
|
setMaximumSize(new Dimension(600,200)); |
|
} |
|
|
|
/** |
|
* create one radio button for the typeSelector |
|
* @param group |
|
* @param label |
|
* @param selection |
|
* @return |
|
*/ |
|
private JRadioButton typeButton(ButtonGroup group, String label,String selection) { |
|
JRadioButton btn = new JRadioButton(label); |
|
group.add(btn); |
|
btn.addActionListener(ev -> worker.setType(label)); |
|
if (label.equals(selection)) btn.setSelected(true); |
|
return btn; |
|
} |
|
}
|
|
|