Subversion Repository Public Repository

Aurocare_27_07_2018

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.bestray.healthcarecommonutil.util;

import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Insets;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JComponent;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.border.Border;

// TODO: Auto-generated Javadoc
/**
 * The Class ComponentTitledBorder.
 *
 * @author Bitu
 */
 public class ComponentTitledBorder implements Border, MouseListener, SwingConstants{ 
       
       /** The offset. */
       int offset = 5; 
    
       /** The comp. */
       Component comp; 
       
       /** The container. */
       JComponent container; 
       
       /** The rect. */
       Rectangle rect; 
       
       /** The border. */
       Border border; 
    
       /**
        * Instantiates a new component titled border.
        *
        * @param comp the comp
        * @param container the container
        * @param border the border
        */
       public ComponentTitledBorder(Component comp, JComponent container, Border border){ 
           this.comp = comp; 
           this.container = container; 
           this.border = border; 
           container.addMouseListener(this); 
       } 
    
       /* (non-Javadoc)
        * @see javax.swing.border.Border#isBorderOpaque()
        */
       public boolean isBorderOpaque(){ 
           return true; 
       } 
    
       /* (non-Javadoc)
        * @see javax.swing.border.Border#paintBorder(java.awt.Component, java.awt.Graphics, int, int, int, int)
        */
       public void paintBorder(Component c, Graphics g, int x, int y, int width, int height){ 
           Insets borderInsets = border.getBorderInsets(c); 
           Insets insets = getBorderInsets(c); 
           int temp = (insets.top-borderInsets.top)/2; 
           border.paintBorder(c, g, x, y+temp, width, height-temp); 
           Dimension size = comp.getPreferredSize(); 
           rect = new Rectangle(offset, 0, size.width, size.height); 
           SwingUtilities.paintComponent(g, comp, (Container)c, rect); 
       } 
    
       /* (non-Javadoc)
        * @see javax.swing.border.Border#getBorderInsets(java.awt.Component)
        */
       public Insets getBorderInsets(Component c){ 
           Dimension size = comp.getPreferredSize(); 
           Insets insets = border.getBorderInsets(c); 
           insets.top = Math.max(insets.top, size.height); 
           return insets; 
       } 
    
       /**
        * Dispatch event.
        *
        * @param me the me
        */
       private void dispatchEvent(MouseEvent me){ 
           if(rect!=null && rect.contains(me.getX(), me.getY())){ 
               Point pt = me.getPoint(); 
               pt.translate(-offset, 0); 
               comp.setBounds(rect); 
               comp.dispatchEvent(new MouseEvent(comp, me.getID() 
                       , me.getWhen(), me.getModifiers() 
                       , pt.x, pt.y, me.getClickCount() 
                       , me.isPopupTrigger(), me.getButton())); 
               if(!comp.isValid()) 
                   container.repaint(); 
           } 
       } 
    
       /* (non-Javadoc)
        * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
        */
       public void mouseClicked(MouseEvent me){ 
           dispatchEvent(me); 
       } 
    
       /* (non-Javadoc)
        * @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
        */
       public void mouseEntered(MouseEvent me){ 
           dispatchEvent(me); 
       } 
    
       /* (non-Javadoc)
        * @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
        */
       public void mouseExited(MouseEvent me){ 
           dispatchEvent(me); 
       } 
    
       /* (non-Javadoc)
        * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
        */
       public void mousePressed(MouseEvent me){ 
           dispatchEvent(me); 
       } 
    
       /* (non-Javadoc)
        * @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
        */
       public void mouseReleased(MouseEvent me){ 
           dispatchEvent(me); 
       } 
  }

Commits for Aurocare_27_07_2018/AuroCareCommonUtil/src/main/java/com/bestray/healthcarecommonutil/util/ComponentTitledBorder.java

Diff revisions: vs.
Revision Author Commited Message
1 girijabapi picture girijabapi Fri 27 Jul, 2018 07:21:55 +0000