Initial commit of newLISP.
[newlisp.git] / guiserver / java / ButtonWidget.java
blobbe37c6d8cd6a015773d3b170914b4353a1807c83
1 //
2 // ButtonWidget.java
3 // guiserver
4 //
5 // Created by Lutz Mueller on 5/12/07.
6 //
7 //
8 // Copyright (C) 2007 Lutz Mueller
9 //
10 // This program is free software: you can redistribute it and/or modify
11 // it under the terms of the GNU General Public License as published by
12 // the Free Software Foundation, either version 3 of the License, or
13 // (at your option) any later version.
15 // This program is distributed in the hope that it will be useful,
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 // GNU General Public License for more details.
20 // You should have received a copy of the GNU General Public License
21 // along with this program. If not, see <http://www.gnu.org/licenses/>.
25 import java.awt.*;
26 import java.awt.event.*;
27 import javax.swing.*;
28 import java.util.*;
30 public class ButtonWidget extends aButton {
32 @SuppressWarnings("unchecked")
33 public ButtonWidget(StringTokenizer params)
35 abutton = new JButton();
36 jcomponent = abutton;
37 component = abutton;
38 container = abutton;
40 id = params.nextToken();
41 action = params.nextToken();
43 if(params.hasMoreTokens())
45 String base64string = params.nextToken();
46 abutton.setText(Base64Coder.decodeString(base64string));
48 else
50 abutton.setVerticalAlignment(JButton.CENTER);
53 if(params.hasMoreTokens())
55 int width = Integer.parseInt(params.nextToken());
56 int height = Integer.parseInt(params.nextToken());
57 abutton.setPreferredSize(new Dimension(width, height));
60 gsObject.widgets.put(id, this);
62 ActionListener listener = new ActionListener() {
63 public void actionPerformed(ActionEvent e)
65 if(action != null)
67 guiserver.out.println("("+ action + " \"" + id + "\")");
68 guiserver.out.flush();
73 abutton.addActionListener(listener);
79 // eof //