OSDN Git Service

プラットフォームごとのStigmataのホームディレクトリの場所を返す一連のクラスをリファクタリングした.
[stigmata/stigmata.git] / src / main / java / jp / sourceforge / stigmata / ui / swing / tab / EditableGlassPane.java
1 package jp.sourceforge.stigmata.ui.swing.tab;
2
3 /*
4  * $Id$
5  */
6
7 import java.awt.LayoutManager;
8 import java.awt.Rectangle;
9 import java.awt.event.MouseAdapter;
10 import java.awt.event.MouseEvent;
11
12 import javax.swing.JPanel;
13
14 /**
15  * This program is copied from below URL.
16  * http://terai.xrea.jp/Swing/EditTabTitle.html
17  * 
18  * @author Haruaki Tamada
19  * @author Terai Atsuhiro
20  * @version $Revision$ 
21  */
22 class EditableGlassPane extends JPanel{
23     private static final long serialVersionUID = 9009103705988625476L;
24
25     private EditableTabbedPane pane;
26     private Rectangle rect;
27
28     public EditableGlassPane(EditableTabbedPane panel){
29         super((LayoutManager)null);
30         this.pane = panel;
31
32         setOpaque(false);
33         addMouseListener(new MouseAdapter(){
34             @Override
35             public void mouseClicked(MouseEvent e){
36                 if(rect == null || rect.contains(e.getPoint()))
37                     return;
38                 pane.renameTab();
39             }
40         });
41     }
42
43     public void setRectangle(int x, int y, int w, int h){
44         setRectangle(new Rectangle(x, y, w, h));
45     }
46
47     public void setRectangle(Rectangle rect){
48         this.rect = rect;
49     }
50
51     public Rectangle getRectangle(){
52         return rect;
53     }
54 }