Statistics
| Revision:

svn-gvsig-desktop / branches / v2_0_0_prep / libraries / libUIComponent / src / org / gvsig / gui / beans / filterPanel / filterButtons / FilterButtonsJPanel.java @ 34247

History | View | Annotate | Download (19 KB)

1 13136 evercher
package org.gvsig.gui.beans.filterPanel.filterButtons;
2
3 13194 bsanchez
import java.awt.Dimension;
4
import java.awt.GridBagConstraints;
5
import java.awt.GridBagLayout;
6 13136 evercher
import java.awt.LayoutManager;
7
import java.awt.event.ActionEvent;
8
import java.awt.event.ActionListener;
9
import java.awt.event.ComponentAdapter;
10
import java.awt.event.ComponentEvent;
11
import java.awt.event.MouseAdapter;
12
import java.awt.event.MouseEvent;
13
import java.io.Serializable;
14
import java.text.DateFormat;
15
import java.util.Date;
16
import java.util.HashMap;
17
18 17743 vcaballero
import javax.swing.Action;
19
import javax.swing.Icon;
20
import javax.swing.JButton;
21 13136 evercher
import javax.swing.JPanel;
22 17743 vcaballero
import javax.swing.JToolTip;
23 13136 evercher
24
import org.gvsig.gui.beans.Messages;
25 17743 vcaballero
import org.gvsig.gui.beans.controls.MultiLineToolTip;
26 13136 evercher
import org.gvsig.gui.beans.swing.textBoxWithCalendar.JCalendarDateDialog;
27
28
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
29
 *
30
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
31
 *
32
 * This program is free software; you can redistribute it and/or
33
 * modify it under the terms of the GNU General Public License
34
 * as published by the Free Software Foundation; either version 2
35
 * of the License, or (at your option) any later version.
36
 *
37
 * This program is distributed in the hope that it will be useful,
38
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
39
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
40
 * GNU General Public License for more details.
41
 *
42
 * You should have received a copy of the GNU General Public License
43
 * along with this program; if not, write to the Free Software
44
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
45
 *
46
 * For more information, contact:
47
 *
48
 *  Generalitat Valenciana
49
 *   Conselleria d'Infraestructures i Transport
50
 *   Av. Blasco Ib??ez, 50
51
 *   46010 VALENCIA
52
 *   SPAIN
53
 *
54
 *      +34 963862235
55
 *   gvsig@gva.es
56
 *      www.gvsig.gva.es
57
 *
58
 *    or
59
 *
60
 *   IVER T.I. S.A
61
 *   Salamanca 50
62
 *   46005 Valencia
63
 *   Spain
64
 *
65
 *   +34 963163400
66
 *   dac@iver.es
67
 */
68
69
/**
70
 * This class is a panel with buttons for filter operations: AND, OR, NOT, >, <, ...
71
 *
72 17743 vcaballero
 * @author Pablo Piqueras Bartolom? (pablo.piqueras@iver.es)
73 13136 evercher
 */
74
public class FilterButtonsJPanel extends JPanel implements Serializable {
75 17743 vcaballero
        private static final long serialVersionUID = -6976915487897365666L;
76 13136 evercher
77
        public static final int default_FilterButtonsJPanelWidth = 190;
78
        public static final int default_FilterButtonsJPanelHeight = 104;
79
        private final int buttonsGroupJPanelWidth = default_FilterButtonsJPanelWidth;
80
        private final int buttonsGroupJPanelHeight = default_FilterButtonsJPanelHeight;
81
        private final int buttonHeight = 20;
82
        private final int buttonWidthUnit = 40;
83
84 17743 vcaballero
        private JButtonML btnEqual = null;
85
        private JButtonML btnDistinct = null;
86
        private JButtonML btnGreater = null;
87
        private JButtonML btnSmaller = null;
88
        private JButtonML btnEqualGreater = null;
89
        private JButtonML btnEqualSmaller = null;
90
        private JButtonML btnAnd = null;
91
        private JButtonML btnOr = null;
92
        private JButtonML btnNot = null;
93
        private JButtonML btnDate = null;
94
        private JButtonML btnParenthesis = null;
95
        private JButtonML btnDeleteText = null;
96
        private JPanelML buttonsJPanel = null;
97
98 13136 evercher
        // Last selected date
99
        private DateFormat dateFormat = DateFormat.getDateInstance();
100
        private Date lastSelectedDate = null;
101
102
        private JCalendarDateDialog jCalendarDateDialog = null;
103
104
        // Values of the events fired when has been clicked a button
105
        public static final int DEFAULT = 0;
106
        public static final int EQUAL = 1;
107
        public static final int DISTINCT = 2;
108
        public static final int GREATER = 3;
109
        public static final int SMALLER = 4;
110
        public static final int EQUALGREATER = 5;
111
        public static final int EQUALSMALLER = 6;
112
        public static final int AND = 7;
113
        public static final int OR = 8;
114
        public static final int NOT = 9;
115
        public static final int DATE = 10;
116
        public static final int PARENTHESIS = 11;
117
        public static final int DELETE_TEXT = 12;
118
119
        // Values of the type of event fired
120
        public static final int BUTTON_CLICKED_ACTION_ID = 13;
121
        public static final String BUTTON_CLICKED_ACTION_COMMAND = "Button Clicked";
122
123
        // Hash map for the items
124 17743 vcaballero
        private HashMap<String, String> map;
125 13136 evercher
126
        // Action listener for notify (fire) some events that had happened to this component
127
        private ActionListener actionListener = null;
128
129
        /**
130
         * @see JPanel#JPanel()
131
         */
132
        public FilterButtonsJPanel() {
133
                super();
134
                initialize();
135
        }
136
137
        /**
138
         * @see JPanel#JPanel(boolean)
139
         */
140
        public FilterButtonsJPanel(boolean isDoubleBuffered) {
141
                super(isDoubleBuffered);
142
                initialize();
143
        }
144
145
        /**
146
         * @see JPanel#JPanel(java.awt.LayoutManager, boolean)
147
         */
148
        public FilterButtonsJPanel(LayoutManager layout, boolean isDoubleBuffered) {
149
                super(layout, isDoubleBuffered);
150
                initialize();
151
        }
152
153
        /**
154
         * @see JPanel#JPanel(java.awt.LayoutManager)
155
         */
156
        public FilterButtonsJPanel(LayoutManager layout) {
157
                super(layout);
158
                initialize();
159
        }
160
161
        /**
162
         * This method initializes this
163
         */
164
        private void initialize() {
165 17743 vcaballero
                map = new HashMap<String, String>();
166
167 13136 evercher
                this.setPreferredSize(new Dimension(default_FilterButtonsJPanelWidth, default_FilterButtonsJPanelHeight));
168
                this.setLayout(new GridBagLayout());
169
170
                // Vertical center
171
                GridBagConstraints gridBagConstraints = new GridBagConstraints();
172
                gridBagConstraints.fill = GridBagConstraints.BOTH;
173
                gridBagConstraints.anchor = GridBagConstraints.CENTER;
174
175
                this.add(getButtonsJPanel(), gridBagConstraints);
176
        }
177
178
        /**
179
         * This method initializes buttonsJPanel
180
         *
181
         * @return javax.swing.JPanel
182
         */
183
        private javax.swing.JPanel getButtonsJPanel() {
184
                if (buttonsJPanel == null) {
185 17743 vcaballero
                        buttonsJPanel = new JPanelML();
186 13136 evercher
187
                        buttonsJPanel.setPreferredSize(new Dimension(buttonsGroupJPanelWidth, buttonsGroupJPanelHeight));
188
                        buttonsJPanel.add(getBtnEqual());
189
                        buttonsJPanel.add(getBtnDistinct());
190
                        buttonsJPanel.add(getBtnDate());
191
                        buttonsJPanel.add(getBtnSmaller());
192
                        buttonsJPanel.add(getBtnGreater());
193
                        buttonsJPanel.add(getBtnEqualSmaller());
194
                        buttonsJPanel.add(getBtnEqualGreater());
195
                        buttonsJPanel.add(getBtnAnd());
196
                        buttonsJPanel.add(getBtnOr());
197
                        buttonsJPanel.add(getBtnNot());
198
                        buttonsJPanel.add(getBtnParenthesis());
199
                        buttonsJPanel.add(getBtnDeleteText());
200
                }
201
202
                return buttonsJPanel;
203
        }
204
205
        /**
206
         * This method initializes btnDistinct
207
         *
208
         * @return javax.swing.JButton
209
         */
210
        private javax.swing.JButton getBtnDistinct() {
211
                if (btnDistinct == null) {
212 17743 vcaballero
                        btnDistinct = new JButtonML();
213 13136 evercher
                        btnDistinct.setText("!=");
214
                        btnDistinct.setMargin(new java.awt.Insets(2, 2, 2, 2));
215
                        btnDistinct.setPreferredSize(new java.awt.Dimension(buttonWidthUnit, buttonHeight));
216
                        btnDistinct.setToolTipText(Messages.getText("operator_distinct_explanation"));
217 17743 vcaballero
                        map.put("!=", Integer.toString(FilterButtonsJPanel.DISTINCT));
218 13136 evercher
219
                        btnDistinct.addActionListener(this.getActionListener());
220
                }
221
222
                return btnDistinct;
223
        }
224
225
226
        /**
227
         * This method initializes btnEqua
228
         *
229
         * @return javax.swing.JButton
230
         */
231
        private javax.swing.JButton getBtnEqual() {
232
                if (btnEqual == null) {
233 17743 vcaballero
                        btnEqual = new JButtonML();
234 13136 evercher
                        btnEqual.setText("=");
235
                        btnEqual.setMargin(new java.awt.Insets(2, 2, 2, 2));
236
                        btnEqual.setPreferredSize(new java.awt.Dimension(buttonWidthUnit, buttonHeight));
237
                        btnEqual.setToolTipText(Messages.getText("operator_equal_explanation"));
238 17743 vcaballero
                        map.put("=", Integer.toString(FilterButtonsJPanel.EQUAL));
239 13136 evercher
240
                        btnEqual.addActionListener(this.getActionListener());
241
                }
242
243
                return btnEqual;
244
        }
245
246
        /**
247
         * This method initializes btnGreater
248
         *
249
         * @return javax.swing.JButton
250
         */
251
        private javax.swing.JButton getBtnGreater() {
252
                if (btnGreater == null) {
253 17743 vcaballero
                        btnGreater = new JButtonML();
254 13136 evercher
                        btnGreater.setText(">");
255
                        btnGreater.setMargin(new java.awt.Insets(2, 2, 2, 2));
256
                        btnGreater.setPreferredSize(new java.awt.Dimension(buttonWidthUnit, buttonHeight));
257
                        btnGreater.setToolTipText(Messages.getText("operator_greater_explanation"));
258 17743 vcaballero
                        map.put(">", Integer.toString(FilterButtonsJPanel.GREATER));
259 13136 evercher
260
                        btnGreater.addActionListener(this.getActionListener());
261
                }
262
263
                return btnGreater;
264
        }
265
266
        /**
267
         * This method initializes btnEqualGreater
268
         *
269
         * @return javax.swing.JButton
270
         */
271
        private javax.swing.JButton getBtnEqualGreater() {
272
                if (btnEqualGreater == null) {
273 17743 vcaballero
                        btnEqualGreater = new JButtonML();
274 13136 evercher
                        btnEqualGreater.setText(">=");
275
                        btnEqualGreater.setMargin(new java.awt.Insets(2, 2, 2, 2));
276
                        btnEqualGreater.setPreferredSize(new java.awt.Dimension(buttonWidthUnit, buttonHeight));
277
                        btnEqualGreater.setToolTipText(Messages.getText("operator_equal_greater_explanation"));
278 17743 vcaballero
                        map.put(">=", Integer.toString(FilterButtonsJPanel.EQUALGREATER));
279 13136 evercher
280
                        btnEqualGreater.addActionListener(this.getActionListener());
281
                }
282
283
                return btnEqualGreater;
284
        }
285
286
        /**
287
         * This method initializes btnSmaller
288
         *
289
         * @return javax.swing.JButton
290
         */
291
        private javax.swing.JButton getBtnSmaller() {
292
                if (btnSmaller == null) {
293 17743 vcaballero
                        btnSmaller = new JButtonML();
294 13136 evercher
                        btnSmaller.setText("<");
295
                        btnSmaller.setMargin(new java.awt.Insets(2, 2, 2, 2));
296
                        btnSmaller.setPreferredSize(new java.awt.Dimension(buttonWidthUnit, buttonHeight));
297
                        btnSmaller.setToolTipText(Messages.getText("operator_smaller_explanation"));
298 17743 vcaballero
                        map.put("<", Integer.toString(FilterButtonsJPanel.SMALLER));
299 13136 evercher
300
                        btnSmaller.addActionListener(this.getActionListener());
301
                }
302
303
                return btnSmaller;
304
        }
305
306
        /**
307
         * This method initializes btnEqualSmaller
308
         *
309
         * @return javax.swing.JButton
310
         */
311
        private javax.swing.JButton getBtnEqualSmaller() {
312
                if (btnEqualSmaller == null) {
313 17743 vcaballero
                        btnEqualSmaller = new JButtonML();
314 13136 evercher
                        btnEqualSmaller.setText("<=");
315
                        btnEqualSmaller.setMargin(new java.awt.Insets(2, 2, 2, 2));
316
                        btnEqualSmaller.setPreferredSize(new java.awt.Dimension(buttonWidthUnit, buttonHeight));
317
                        btnEqualSmaller.setToolTipText(Messages.getText("operator_equal_smaller_explanation"));
318 17743 vcaballero
                        map.put("<=", Integer.toString(FilterButtonsJPanel.EQUALSMALLER));
319 13136 evercher
320
                        btnEqualSmaller.addActionListener(this.getActionListener());
321
                }
322
323
                return btnEqualSmaller;
324
        }
325
326
        /**
327
         * This method initializes btnDate
328
         *
329
         * @return javax.swing.JButton
330
         */
331
        private javax.swing.JButton getBtnDate() {
332
                if (btnDate == null) {
333 17743 vcaballero
                        btnDate = new JButtonML();
334 13136 evercher
                        btnDate.setText("Date");
335
                        btnDate.setMargin(new java.awt.Insets(2, 2, 2, 2));
336
                        btnDate.setPreferredSize(new java.awt.Dimension(86, buttonHeight));
337
                        btnDate.setToolTipText(Messages.getText("date_button_explanation"));
338 17743 vcaballero
                        map.put("Date", Integer.toString(FilterButtonsJPanel.DATE));
339 13136 evercher
340
                        btnDate.addMouseListener(new MouseAdapter() {
341
                                /*
342
                                 *  (non-Javadoc)
343
                                 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
344
                                 */
345
                                public void mouseClicked(MouseEvent e) {
346 13194 bsanchez
                                        getCDD().setVisible(true);
347 13136 evercher
                                }
348
                        });
349
                }
350
351
                return btnDate;
352
        }
353
354
        /**
355
         * This method initializes a JCalendarDateDialog
356
         *
357
         * @return A JCalendarDateDialog
358
         */
359
        protected JCalendarDateDialog getCDD() {
360
                if (jCalendarDateDialog == null) {
361
                        jCalendarDateDialog = new JCalendarDateDialog(350, 230);
362
                        jCalendarDateDialog.setModal(true);
363
                        jCalendarDateDialog.setLocationRelativeTo(btnDate);
364
                        jCalendarDateDialog.setMinimumWidth(350);
365
                        jCalendarDateDialog.setMinimumHeight(170);
366
                        jCalendarDateDialog.setMaximumWidth(500);
367
                        jCalendarDateDialog.setMaximumHeight(400);
368
369
                        // Adds a listener for get the date when the
370
                        jCalendarDateDialog.addComponentListener(new ComponentAdapter() {
371
                                /*
372
                                 *  (non-Javadoc)
373
                                 * @see java.awt.event.ComponentListener#componentHidden(java.awt.event.ComponentEvent)
374
                                 */
375
                                public void componentHidden(ComponentEvent e) {
376
                                        lastSelectedDate = jCalendarDateDialog.getDate();
377
378
                                        actionListener.actionPerformed(new ActionEvent(btnDate, FilterButtonsJPanel.BUTTON_CLICKED_ACTION_ID, FilterButtonsJPanel.BUTTON_CLICKED_ACTION_COMMAND));
379
380
                                }
381
                        });
382
383
                }
384
385
                return jCalendarDateDialog;
386
        }
387
388
        /**
389
         * This method initializes btnAnd
390
         *
391
         * @return javax.swing.JButton
392
         */
393
        private javax.swing.JButton getBtnAnd() {
394
                if (btnAnd == null) {
395 17743 vcaballero
                        btnAnd = new JButtonML();
396 13136 evercher
                        btnAnd.setText("And");
397
                        btnAnd.setMargin(new java.awt.Insets(2, 2, 2, 2));
398
                        btnAnd.setPreferredSize(new java.awt.Dimension(buttonWidthUnit, buttonHeight));
399
                        btnAnd.setToolTipText(Messages.getText("operator_and_explanation"));
400 17743 vcaballero
                        map.put("And", Integer.toString(FilterButtonsJPanel.AND));
401 13136 evercher
402
                        btnAnd.addActionListener(this.getActionListener());
403
                }
404
405
                return btnAnd;
406
        }
407
408
        /**
409
         * This method initializes btnNot
410
         *
411
         * @return javax.swing.JButton
412
         */
413
        private javax.swing.JButton getBtnNot() {
414
                if (btnNot == null) {
415 17743 vcaballero
                        btnNot = new JButtonML();
416 13136 evercher
                        btnNot.setText("Not");
417
                        btnNot.setMargin(new java.awt.Insets(2, 2, 2, 2));
418
                        btnNot.setPreferredSize(new java.awt.Dimension(buttonWidthUnit, buttonHeight));
419
                        btnNot.setToolTipText(Messages.getText("operator_not_explanation"));
420 17743 vcaballero
                        map.put("Not", Integer.toString(FilterButtonsJPanel.NOT));
421 13136 evercher
422
                        btnNot.addMouseListener(new MouseAdapter() {
423
                                /*
424
                                 *  (non-Javadoc)
425
                                 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
426
                                 */
427
                                public void mouseClicked(MouseEvent e) {
428
                                        new ActionEvent(this, FilterButtonsJPanel.BUTTON_CLICKED_ACTION_ID, FilterButtonsJPanel.BUTTON_CLICKED_ACTION_COMMAND);
429
                                }
430
                        });
431
432
                        btnNot.addActionListener(this.getActionListener());
433
434
                }
435
436
                return btnNot;
437
        }
438
439
        /**
440
         * This method initializes btnOr
441
         *
442
         * @return javax.swing.JButton
443
         */
444
        private javax.swing.JButton getBtnOr() {
445
                if (btnOr == null) {
446 17743 vcaballero
                        btnOr = new JButtonML();
447 13136 evercher
                        btnOr.setText("Or");
448
                        btnOr.setMargin(new java.awt.Insets(2, 2, 2, 2));
449
                        btnOr.setPreferredSize(new java.awt.Dimension(buttonWidthUnit, buttonHeight));
450
                        btnOr.setToolTipText(Messages.getText("operator_or_explanation"));
451 17743 vcaballero
                        map.put("Or", Integer.toString(FilterButtonsJPanel.OR));
452 13136 evercher
453
                        btnOr.addMouseListener(new MouseAdapter() {
454
                                /*
455
                                 *  (non-Javadoc)
456
                                 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
457
                                 */
458
                                public void mouseClicked(MouseEvent e) {
459
                                        new ActionEvent(this, FilterButtonsJPanel.BUTTON_CLICKED_ACTION_ID, FilterButtonsJPanel.BUTTON_CLICKED_ACTION_COMMAND);
460
                                }
461
                        });
462
463
                        btnOr.addActionListener(this.getActionListener());
464
                }
465
466
                return btnOr;
467
        }
468
469
        /**
470
         * This method initializes btnParenthesis
471
         *
472
         * @return javax.swing.JButton
473
         */
474
        private javax.swing.JButton getBtnParenthesis() {
475
                if (btnParenthesis == null) {
476 17743 vcaballero
                        btnParenthesis = new JButtonML();
477 13136 evercher
                        btnParenthesis.setText("()");
478
                        btnParenthesis.setMargin(new java.awt.Insets(2, 2, 2, 2));
479
                        btnParenthesis.setPreferredSize(new java.awt.Dimension(buttonWidthUnit, buttonHeight));
480
                        btnParenthesis.setToolTipText(Messages.getText("parenthesis_explanation"));
481 17743 vcaballero
                        map.put("()", Integer.toString(FilterButtonsJPanel.PARENTHESIS));
482 13136 evercher
483
                        btnParenthesis.addMouseListener(new MouseAdapter() {
484
                                /*
485
                                 *  (non-Javadoc)
486
                                 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
487
                                 */
488
                                public void mouseClicked(MouseEvent e) {
489
                                        new ActionEvent(this, FilterButtonsJPanel.BUTTON_CLICKED_ACTION_ID, FilterButtonsJPanel.BUTTON_CLICKED_ACTION_COMMAND);
490
                                }
491
                        });
492
493
                        btnParenthesis.addActionListener(this.getActionListener());
494
                }
495
496
                return btnParenthesis;
497
        }
498
499
        /**
500
         * This method initializes btnDeleteText
501
         *
502
         * @return javax.swing.JButton
503
         */
504
        private javax.swing.JButton getBtnDeleteText() {
505
                if (btnDeleteText == null) {
506 17743 vcaballero
                        btnDeleteText = new JButtonML();
507 13136 evercher
                        btnDeleteText.setText(Messages.getText("deleteText"));
508
                        btnDeleteText.setMargin(new java.awt.Insets(2, 2, 2, 2));
509
                        btnDeleteText.setPreferredSize(new java.awt.Dimension(176, buttonHeight));
510
                        btnDeleteText.setToolTipText(Messages.getText("deleteText_on_filter_use_explanation"));
511 17743 vcaballero
                        map.put(Messages.getText("deleteText"), Integer.toString(FilterButtonsJPanel.DELETE_TEXT));
512 13136 evercher
513
                        btnDeleteText.addMouseListener(new MouseAdapter() {
514
                                /*
515
                                 *  (non-Javadoc)
516
                                 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
517
                                 */
518
                                public void mouseClicked(MouseEvent e) {
519
                                        new ActionEvent(this, FilterButtonsJPanel.BUTTON_CLICKED_ACTION_ID, FilterButtonsJPanel.BUTTON_CLICKED_ACTION_COMMAND);
520
                                }
521
                        });
522
523
                        btnDeleteText.addActionListener(this.getActionListener());
524
                }
525
526
                return btnDeleteText;
527
        }
528
529
        /**
530
         * This method initializes the "actionListener" ActionListener
531
         *
532
         * @return ActionListener
533
         */
534
        private ActionListener getActionListener() {
535
                if (actionListener == null) {
536
                        actionListener = new ActionListener() {
537
                                /*
538
                                 *  (non-Javadoc)
539
                                 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
540
                                 */
541
                                public void actionPerformed(ActionEvent event) {
542
                                           // Notifies that has been clicked a button
543 34247 cordinyana
                                        firePropertyChange(
544
                                                        FilterButtonsJPanel.BUTTON_CLICKED_ACTION_COMMAND,
545
                                                        FilterButtonsJPanel.DEFAULT,
546
                                                        map.get(((javax.swing.JButton) event.getSource())
547
                                                                        .getText()));
548 13136 evercher
                        }
549
                    };
550
                }
551
                return actionListener;
552
        }
553
554
        /**
555
         * Returns the las selected date, formatted
556
         *
557
         * @return A formatted date
558
         */
559
        public String getLastSelectedDate() {
560
                if (lastSelectedDate == null)
561
                        return "";
562
                else
563
                        return "Date(" + dateFormat.format(lastSelectedDate) + ")";
564
        }
565
566
        /**
567
         * Returns the 'DateFormat' private attribute
568
         *
569
         * @return A 'DateFormat' reference
570
         */
571
        public DateFormat getDateFormat() {
572
                return dateFormat;
573
        }
574
575 17743 vcaballero
        /**
576
         * JButton with multi line tool tip text.
577
         *
578
         * @see JButton
579
         *
580
         * @author Pablo Piqueras Bartolome (pablo.piqueras@iver.es)
581
         */
582
    protected class JButtonML extends JButton {
583
                private static final long serialVersionUID = -6052122756677251026L;
584
585
                /**
586
                 * @see JButton#JButton()
587
                 */
588
                public JButtonML() {
589
                        super();
590
                }
591
592
                /**
593
                 * @see JButton#JButton(Action)
594
                 */
595
                public JButtonML(Action a) {
596
                        super(a);
597
                }
598
599
                /**
600
                 * @see JButton#JButton(Icon)
601
                 */
602
                public JButtonML(Icon icon) {
603
                        super(icon);
604
                }
605
606
                /**
607
                 * @see JButton#JButton(String, Icon)
608
                 */
609
                public JButtonML(String text, Icon icon) {
610
                        super(text, icon);
611
                }
612
613
                /**
614
                 * @see JButton#JButton(String)
615
                 */
616
                public JButtonML(String text) {
617
                        super(text);
618
                }
619
620
                /*
621
             * (non-Javadoc)
622
             * @see javax.swing.JComponent#createToolTip()
623
             */
624
        public JToolTip createToolTip() {
625
                // Multiline support
626
                MultiLineToolTip tip = new MultiLineToolTip();
627
                tip.setComponent(this);
628
                return tip;
629
        }
630
    }
631
632
        /**
633
         * JPanel with multi line tool tip text.
634
         *
635
         * @see JPanel
636
         *
637
         * @author Pablo Piqueras Bartolome (pablo.piqueras@iver.es)
638
         */
639
    protected class JPanelML extends JPanel {
640
                private static final long serialVersionUID = -5282313934096892711L;
641
642
                /**
643
                 * @see JPanel#JPanel()
644
                 */
645
                public JPanelML() {
646
                        super();
647
                }
648
649
                /**
650
                 * @see JPanel#JPanel(boolean)
651
                 */
652
                public JPanelML(boolean isDoubleBuffered) {
653
                        super(isDoubleBuffered);
654
                }
655
656
                /**
657
                 * @see JPanel#JPanel(LayoutManager, boolean)
658
                 */
659
                public JPanelML(LayoutManager layout, boolean isDoubleBuffered) {
660
                        super(layout, isDoubleBuffered);
661
                }
662
663
                /**
664
                 * @see JPanel#JPanel(LayoutManager)
665
                 */
666
                public JPanelML(LayoutManager layout) {
667
                        super(layout);
668
                }
669
670
                /*
671
             * (non-Javadoc)
672
             * @see javax.swing.JComponent#createToolTip()
673
             */
674
        public JToolTip createToolTip() {
675
                // Multiline support
676
                MultiLineToolTip tip = new MultiLineToolTip();
677
                tip.setComponent(this);
678
                return tip;
679
        }
680
    }
681 13136 evercher
}