source: java/main/src/main/java/com/framsticks/gui/controls/TextFieldControl.java @ 193

Last change on this file since 193 was 193, checked in by Maciej Komosinski, 10 years ago

Set svn:eol-style native for all textual files

  • Property svn:eol-style set to native
File size: 1.2 KB
Line 
1package com.framsticks.gui.controls;
2
3import com.framsticks.gui.Gui;
4import com.framsticks.params.PrimitiveParam;
5
6import javax.swing.*;
7import javax.swing.text.JTextComponent;
8
9import java.awt.*;
10
11@SuppressWarnings("serial")
12public class TextFieldControl extends TextOnlyControl {
13
14
15        private static final Color WRONG_COLOR = new Color(255, 180, 215);
16
17        protected final JTextField textField;
18        private final Color correctColor;
19
20        @Override
21        protected boolean notifyOfChange() {
22                boolean result = super.notifyOfChange();
23                textField.setBackground(result ? correctColor : WRONG_COLOR);
24                return result;
25        }
26
27        public TextFieldControl(PrimitiveParam<?> valueParam) {
28                super(valueParam);
29                textField = new JTextField();
30                textField.setName("value");
31                correctColor = textField.getBackground();
32
33                textField.setMinimumSize(new Dimension(0, Control.LINE_HEIGHT));
34                this.setMaximumSize(new Dimension(Integer.MAX_VALUE, Control.LINE_HEIGHT));
35
36                addDefaultDocumentListener(textField);
37
38                Gui.addLeftToLabel(this, textField);
39        }
40
41
42        @Override
43        protected JTextComponent getTextComponent() {
44                return textField;
45        }
46
47        @Override
48        protected void updateEnabled(boolean enabled) {
49                textField.setEnabled(enabled);
50        }
51
52}
Note: See TracBrowser for help on using the repository browser.