KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > lobobrowser > html > renderer > InputButtonControl


1 /*
2     GNU LESSER GENERAL PUBLIC LICENSE
3     Copyright (C) 2006 The Lobo Project
4
5     This library is free software; you can redistribute it and/or
6     modify it under the terms of the GNU Lesser General Public
7     License as published by the Free Software Foundation; either
8     version 2.1 of the License, or (at your option) any later version.
9
10     This library is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13     Lesser General Public License for more details.
14
15     You should have received a copy of the GNU Lesser General Public
16     License along with this library; if not, write to the Free Software
17     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
19     Contact info: xamjadmin@users.sourceforge.net
20 */

21 /*
22  * Created on Jan 15, 2006
23  */

24 package org.lobobrowser.html.renderer;
25
26 import java.awt.event.ActionEvent JavaDoc;
27 import java.awt.event.ActionListener JavaDoc;
28
29 import org.lobobrowser.html.domimpl.*;
30 import org.lobobrowser.util.gui.WrapperLayout;
31 import javax.swing.*;
32
33 class InputButtonControl extends BaseInputControl {
34     private final JButton widget;
35     
36     public InputButtonControl(final HTMLBaseInputElement modelNode) {
37         super(modelNode);
38         this.setLayout(WrapperLayout.getInstance());
39         JButton widget = new JButton();
40         this.widget = widget;
41         this.add(widget);
42         widget.addActionListener(new ActionListener JavaDoc() {
43             public void actionPerformed(ActionEvent JavaDoc event) {
44                 HtmlController.getInstance().onPressed(InputButtonControl.this.controlElement, null, 0, 0);
45             }
46         });
47     }
48     
49     public void reset(int availWidth, int availHeight) {
50         super.reset(availWidth, availHeight);
51         HTMLInputElementImpl element = (HTMLInputElementImpl) this.controlElement;
52         String JavaDoc text = element.getAttribute("value");
53         if(text == null || text == "") {
54             String JavaDoc type = element.getType();
55             if("submit".equalsIgnoreCase(type)) {
56                 text = "Submit Query";
57             }
58             else if("reset".equalsIgnoreCase(type)) {
59                 text = "Reset";
60             }
61             else {
62                 text = "";
63             }
64         }
65         this.widget.setText(text);
66     }
67     
68     /* (non-Javadoc)
69      * @see org.xamjwg.html.domimpl.InputContext#click()
70      */

71     public void click() {
72         this.widget.doClick();
73     }
74
75     /* (non-Javadoc)
76      * @see org.xamjwg.html.domimpl.InputContext#getValue()
77      */

78     public String JavaDoc getValue() {
79         return this.widget.getText();
80     }
81
82     public void setDisabled(boolean disabled) {
83         super.setDisabled(disabled);
84         this.widget.setEnabled(!disabled);
85     }
86     
87     /* (non-Javadoc)
88      * @see org.xamjwg.html.domimpl.InputContext#setValue(java.lang.String)
89      */

90     public void setValue(String JavaDoc value) {
91         this.widget.setText(value);
92     }
93     
94     public void resetInput() {
95         // nop
96
}
97 }
98
Popular Tags