* fix OSX LaF issues

This commit is contained in:
Reinhard Pointner 2014-07-26 16:09:18 +00:00
parent 4f713d6650
commit e0161028c7
1 changed files with 10 additions and 15 deletions

View File

@ -1,7 +1,5 @@
package net.filebot.ui.episodelist; package net.filebot.ui.episodelist;
import static net.filebot.ui.episodelist.SeasonSpinnerModel.*; import static net.filebot.ui.episodelist.SeasonSpinnerModel.*;
import java.awt.Color; import java.awt.Color;
@ -16,47 +14,44 @@ import javax.swing.SwingConstants;
import javax.swing.text.DefaultFormatter; import javax.swing.text.DefaultFormatter;
import javax.swing.text.DefaultFormatterFactory; import javax.swing.text.DefaultFormatterFactory;
class SeasonSpinnerEditor extends DefaultEditor { class SeasonSpinnerEditor extends DefaultEditor {
public SeasonSpinnerEditor(JSpinner spinner) { public SeasonSpinnerEditor(JSpinner spinner) {
super(spinner); super(spinner);
getTextField().setFormatterFactory(new DefaultFormatterFactory(new DefaultFormatter() { getTextField().setFormatterFactory(new DefaultFormatterFactory(new DefaultFormatter() {
@Override @Override
public Object stringToValue(String string) throws ParseException { public Object stringToValue(String string) throws ParseException {
if ("All Seasons".equals(string)) { if ("All Seasons".equals(string)) {
return ALL_SEASONS; return ALL_SEASONS;
} }
Matcher matcher = Pattern.compile("Season (\\d+)").matcher(string); Matcher matcher = Pattern.compile("Season (\\d+)").matcher(string);
if (matcher.matches()) { if (matcher.matches()) {
return Integer.valueOf(matcher.group(1)); return Integer.valueOf(matcher.group(1));
} }
// negative season number // negative season number
throw new ParseException("Illegal season number", 0); throw new ParseException("Illegal season number", 0);
} }
@Override @Override
public String valueToString(Object value) throws ParseException { public String valueToString(Object value) throws ParseException {
int season = ((Number) value).intValue(); int season = ((Number) value).intValue();
if (season == ALL_SEASONS) if (season == ALL_SEASONS)
return "All Seasons"; return "All Seasons";
else if (season >= 1) else if (season >= 1)
return String.format("Season %d", season); return String.format("Season %d", season);
// negative season number // negative season number
throw new ParseException("Illegal season number", 0); throw new ParseException("Illegal season number", 0);
} }
})); }));
getTextField().setBorder(BorderFactory.createEmptyBorder(1, 3, 1, 1));
getTextField().setHorizontalAlignment(SwingConstants.RIGHT); getTextField().setHorizontalAlignment(SwingConstants.RIGHT);
getTextField().setBackground(Color.white); getTextField().setBackground(Color.white);
} }