20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package com.sun.java.swing.plaf.motif; 27 28 import java.awt.*; 29 import java.awt.event.*; 30 import javax.swing.*; 31 import javax.swing.border.*; 32 import javax.swing.event.InternalFrameEvent; 33 import javax.swing.plaf.basic.*; 34 import java.util.EventListener; 35 import java.beans.PropertyChangeListener; 36 import java.beans.PropertyChangeEvent; 37 import java.beans.VetoableChangeListener; 38 import java.beans.PropertyVetoException; 39 40 /** 41 * Class that manages a Motif title bar 42 * 43 * @since 1.3 44 */ 45 public class MotifInternalFrameTitlePane 46 extends BasicInternalFrameTitlePane implements LayoutManager, ActionListener, PropertyChangeListener 47 { 48 SystemButton systemButton; 49 MinimizeButton minimizeButton; 50 MaximizeButton maximizeButton; 51 JPopupMenu systemMenu; 52 Title title; 53 Color color; 54 Color highlight; 55 Color shadow; 56 57 // The width and height of a title pane button 58 public final static int BUTTON_SIZE = 19; // 17 + 1 pixel border 59 339 addMouseListener(new MouseListener() { 340 public void mouseClicked(MouseEvent e) { 341 forwardEventToParent(e); 342 } 343 public void mousePressed(MouseEvent e) { 344 forwardEventToParent(e); 345 } 346 public void mouseReleased(MouseEvent e) { 347 forwardEventToParent(e); 348 } 349 public void mouseEntered(MouseEvent e) { 350 forwardEventToParent(e); 351 } 352 public void mouseExited(MouseEvent e) { 353 forwardEventToParent(e); 354 } 355 }); 356 } 357 358 void forwardEventToParent(MouseEvent e) { 359 getParent().dispatchEvent(new MouseEvent( 360 getParent(), e.getID(), e.getWhen(), e.getModifiers(), 361 e.getX(), e.getY(), e.getXOnScreen(), 362 e.getYOnScreen(), e.getClickCount(), 363 e.isPopupTrigger(), MouseEvent.NOBUTTON)); 364 } 365 366 public void paintComponent(Graphics g) { 367 super.paintComponent(g); 368 if (frame.isSelected()) { 369 g.setColor(UIManager.getColor("activeCaptionText")); 370 } else { 371 g.setColor(UIManager.getColor("inactiveCaptionText")); 372 } 373 Dimension d = getSize(); 374 String frameTitle = frame.getTitle(); 375 if (frameTitle != null) { 376 MotifGraphicsUtils.drawStringInRect(frame, g, frameTitle, 377 0, 0, d.width, d.height, 378 SwingConstants.CENTER); 379 } 380 } 381 } 382 } | 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package com.sun.java.swing.plaf.motif; 27 28 import java.awt.*; 29 import java.awt.event.*; 30 import javax.swing.*; 31 import javax.swing.border.*; 32 import javax.swing.event.InternalFrameEvent; 33 import javax.swing.plaf.basic.*; 34 import java.util.EventListener; 35 import java.beans.PropertyChangeListener; 36 import java.beans.PropertyChangeEvent; 37 import java.beans.VetoableChangeListener; 38 import java.beans.PropertyVetoException; 39 40 import sun.awt.AWTAccessor; 41 import sun.awt.AWTAccessor.MouseEventAccessor; 42 43 /** 44 * Class that manages a Motif title bar 45 * 46 * @since 1.3 47 */ 48 public class MotifInternalFrameTitlePane 49 extends BasicInternalFrameTitlePane implements LayoutManager, ActionListener, PropertyChangeListener 50 { 51 SystemButton systemButton; 52 MinimizeButton minimizeButton; 53 MaximizeButton maximizeButton; 54 JPopupMenu systemMenu; 55 Title title; 56 Color color; 57 Color highlight; 58 Color shadow; 59 60 // The width and height of a title pane button 61 public final static int BUTTON_SIZE = 19; // 17 + 1 pixel border 62 342 addMouseListener(new MouseListener() { 343 public void mouseClicked(MouseEvent e) { 344 forwardEventToParent(e); 345 } 346 public void mousePressed(MouseEvent e) { 347 forwardEventToParent(e); 348 } 349 public void mouseReleased(MouseEvent e) { 350 forwardEventToParent(e); 351 } 352 public void mouseEntered(MouseEvent e) { 353 forwardEventToParent(e); 354 } 355 public void mouseExited(MouseEvent e) { 356 forwardEventToParent(e); 357 } 358 }); 359 } 360 361 void forwardEventToParent(MouseEvent e) { 362 MouseEvent newEvent = new MouseEvent( 363 getParent(), e.getID(), e.getWhen(), e.getModifiers(), 364 e.getX(), e.getY(), e.getXOnScreen(), 365 e.getYOnScreen(), e.getClickCount(), 366 e.isPopupTrigger(), MouseEvent.NOBUTTON); 367 MouseEventAccessor meAccessor = AWTAccessor.getMouseEventAccessor(); 368 meAccessor.setCausedByTouchEvent(newEvent, 369 meAccessor.isCausedByTouchEvent(e)); 370 getParent().dispatchEvent(newEvent); 371 } 372 373 public void paintComponent(Graphics g) { 374 super.paintComponent(g); 375 if (frame.isSelected()) { 376 g.setColor(UIManager.getColor("activeCaptionText")); 377 } else { 378 g.setColor(UIManager.getColor("inactiveCaptionText")); 379 } 380 Dimension d = getSize(); 381 String frameTitle = frame.getTitle(); 382 if (frameTitle != null) { 383 MotifGraphicsUtils.drawStringInRect(frame, g, frameTitle, 384 0, 0, d.width, d.height, 385 SwingConstants.CENTER); 386 } 387 } 388 } 389 } |