KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > zirc > base > ToolBarItem


1 package zirc.base ;
2
3 import java.awt.* ;
4 import java.awt.event.* ;
5 import javax.swing.* ;
6
7 import zirc.gui.* ;
8
9 //zIrc, irc client.
10
// Copyright (C) 2004 CoolBytes(Stephane claret, Andre Aymon, Alban Zumofen) coolbytes@hotmail.com
11
//
12
// This program is free software; you can redistribute it and/or
13
// modify it under the terms of the GNU General Public License
14
// as published by the Free Software Foundation; either version 2
15
// of the License, or (at your option) any later version.
16
//
17
// This program is distributed in the hope that it will be useful,
18
// but WITHOUT ANY WARRANTY; without even the implied warranty of
19
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
// GNU General Public License for more details.
21

22 /**
23  * <p>Title: ToolBarItem</p>
24  * <p>Description: represente les boutons affiches dans la toolbar du mainframe</p>
25  * <p>Copyright: Copyright (c) 2004</p>
26  * <p>Company: CoolBytes(Stephane claret, Andre Aymon, Alban Zumofen) coolbytes@hotmail.com</p>
27  * @version 1.0
28  */

29
30 public class ToolBarItem
31 {
32   private static ButtonGroup groupe = new ButtonGroup() ;
33
34   private JToolBar AssociatedToolBar ;
35   private JInternalFrame AssociatedFrame ;
36   private JToggleButton BoutonItem ;
37   private String JavaDoc name ;
38   private DesktopManager dm ;
39
40   public ToolBarItem(JToolBar _Jt, AbstractChatFrame _frm)
41   {
42
43     AssociatedToolBar = _Jt ;
44     AssociatedFrame = _frm ;
45
46     //ajoute un bouton dans le menu des fenetres
47
BoutonItem = new JToggleButton() ;
48     BoutonItem.setBorder(null) ;
49     BoutonItem.setBorderPainted(false) ;
50     groupe.add(BoutonItem) ;
51
52     BoutonItem.addActionListener(new java.awt.event.ActionListener JavaDoc()
53     {
54       public void actionPerformed(ActionEvent e)
55       {
56         stateChanged(e) ;
57       }
58     }) ;
59
60     AssociatedToolBar.add(BoutonItem) ;
61     BoutonItem.setText(_frm.getTitle()) ;
62
63     //on lui fixe les limites, le reste se fera tt seul..
64

65     BoutonItem.setMinimumSize(new Dimension(30, 20)) ;
66     BoutonItem.setMaximumSize(new Dimension(100, 20)) ;
67     BoutonItem.setPreferredSize(new Dimension(100, 20)) ;
68
69     if (AssociatedFrame instanceof ChatFrame)
70     {
71       BoutonItem.setIcon(new ImageIcon("fichiers/images/chatIcon.png")) ;
72     }
73     else
74     {
75       if (AssociatedFrame instanceof StatusFrame)
76       {
77         BoutonItem.setIcon(new ImageIcon("fichiers/images/statusIcon.png")) ;
78       }
79       else
80       {
81         BoutonItem.setIcon(new ImageIcon("fichiers/images/privateIcon.png")) ;
82       }
83
84     }
85
86   }
87
88   public ToolBarItem(JToolBar _Jt, DCCtransfer _frm)
89   {
90     AssociatedToolBar = _Jt ;
91     AssociatedFrame = _frm ;
92
93     //ajoute un bouton dans le menu des fenetres
94
BoutonItem = new JToggleButton() ;
95     BoutonItem.setBorder(null) ;
96     BoutonItem.setBorderPainted(false) ;
97     groupe.add(BoutonItem) ;
98
99     BoutonItem.addActionListener(new java.awt.event.ActionListener JavaDoc()
100     {
101       public void actionPerformed(ActionEvent e)
102       {
103         stateChanged(e) ;
104       }
105     }) ;
106
107     AssociatedToolBar.add(BoutonItem) ;
108     BoutonItem.setText(_frm.getTitle()) ;
109
110     //on lui fixe les limites, le reste se fera tt seul..
111

112     BoutonItem.setMinimumSize(new Dimension(30, 20)) ;
113     BoutonItem.setMaximumSize(new Dimension(100, 20)) ;
114     BoutonItem.setPreferredSize(new Dimension(100, 20)) ;
115     BoutonItem.setIcon(new ImageIcon("fichiers/images/dl.png")) ;
116   }
117
118   public void stateChanged(ActionEvent e)
119   {
120
121     if (BoutonItem.isSelected() && !AssociatedFrame.hasFocus())
122     {
123
124       AssociatedFrame.setVisible(true) ;
125       try
126       {
127         AssociatedFrame.setIcon(false) ;
128       }
129       catch (Exception JavaDoc ex)
130       {
131         ex.printStackTrace() ;
132       }
133      dm = AssociatedFrame.getDesktopPane().getDesktopManager() ;
134      dm.activateFrame(AssociatedFrame) ;
135
136       //remettre le lib bouton en noir
137
BoutonItem.setForeground(Color.BLACK) ;
138     }
139
140   }
141
142   public void setLibelle(String JavaDoc _lib)
143   {
144     this.name = _lib ;
145     BoutonItem.setText(_lib) ;
146     BoutonItem.setToolTipText(_lib) ;
147   }
148
149   public String JavaDoc getLibelle()
150   {
151     return name ;
152   }
153
154   public void destroy()
155   {
156     //vire l'item du JtoolBar
157
AssociatedToolBar.remove(BoutonItem) ;
158
159     //C'est moche mais j ai pas d'autres moyens de le faire rafraichir
160
AssociatedToolBar.setVisible(false) ;
161     AssociatedToolBar.setVisible(true) ;
162
163   }
164
165   public void setRouge()
166   {
167     if (!BoutonItem.isSelected())
168     {
169       BoutonItem.setForeground(Color.RED) ;
170     }
171   }
172
173   public void setPressed()
174   {
175     BoutonItem.setSelected(true) ;
176   }
177 }
178
Popular Tags