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 @SuppressWarnings("serial") // Superclass is not serializable across versions 46 public class MotifInternalFrameTitlePane 47 extends BasicInternalFrameTitlePane implements LayoutManager, ActionListener, PropertyChangeListener 48 { 49 SystemButton systemButton; 50 MinimizeButton minimizeButton; 51 MaximizeButton maximizeButton; 52 JPopupMenu systemMenu; 53 Title title; 54 Color color; 55 Color highlight; 56 Color shadow; 57 58 // The width and height of a title pane button 59 public static final int BUTTON_SIZE = 19; // 17 + 1 pixel border 346 addMouseListener(new MouseListener() { 347 public void mouseClicked(MouseEvent e) { 348 forwardEventToParent(e); 349 } 350 public void mousePressed(MouseEvent e) { 351 forwardEventToParent(e); 352 } 353 public void mouseReleased(MouseEvent e) { 354 forwardEventToParent(e); 355 } 356 public void mouseEntered(MouseEvent e) { 357 forwardEventToParent(e); 358 } 359 public void mouseExited(MouseEvent e) { 360 forwardEventToParent(e); 361 } 362 }); 363 } 364 @SuppressWarnings("deprecation") 365 void forwardEventToParent(MouseEvent e) { 366 getParent().dispatchEvent(new MouseEvent( 367 getParent(), e.getID(), e.getWhen(), e.getModifiers(), 368 e.getX(), e.getY(), e.getXOnScreen(), 369 e.getYOnScreen(), e.getClickCount(), 370 e.isPopupTrigger(), MouseEvent.NOBUTTON)); 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 } | 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 @SuppressWarnings("serial") // Superclass is not serializable across versions 49 public class MotifInternalFrameTitlePane 50 extends BasicInternalFrameTitlePane implements LayoutManager, ActionListener, PropertyChangeListener 51 { 52 SystemButton systemButton; 53 MinimizeButton minimizeButton; 54 MaximizeButton maximizeButton; 55 JPopupMenu systemMenu; 56 Title title; 57 Color color; 58 Color highlight; 59 Color shadow; 60 61 // The width and height of a title pane button 62 public static final int BUTTON_SIZE = 19; // 17 + 1 pixel border 349 addMouseListener(new MouseListener() { 350 public void mouseClicked(MouseEvent e) { 351 forwardEventToParent(e); 352 } 353 public void mousePressed(MouseEvent e) { 354 forwardEventToParent(e); 355 } 356 public void mouseReleased(MouseEvent e) { 357 forwardEventToParent(e); 358 } 359 public void mouseEntered(MouseEvent e) { 360 forwardEventToParent(e); 361 } 362 public void mouseExited(MouseEvent e) { 363 forwardEventToParent(e); 364 } 365 }); 366 } 367 @SuppressWarnings("deprecation") 368 void forwardEventToParent(MouseEvent e) { 369 MouseEvent newEvent = new MouseEvent( 370 getParent(), e.getID(), e.getWhen(), e.getModifiers(), 371 e.getX(), e.getY(), e.getXOnScreen(), 372 e.getYOnScreen(), e.getClickCount(), 373 e.isPopupTrigger(), MouseEvent.NOBUTTON); 374 MouseEventAccessor meAccessor = AWTAccessor.getMouseEventAccessor(); 375 meAccessor.setCausedByTouchEvent(newEvent, 376 meAccessor.isCausedByTouchEvent(e)); 377 getParent().dispatchEvent(newEvent); 378 } 379 380 public void paintComponent(Graphics g) { 381 super.paintComponent(g); 382 if (frame.isSelected()) { 383 g.setColor(UIManager.getColor("activeCaptionText")); 384 } else { 385 g.setColor(UIManager.getColor("inactiveCaptionText")); 386 } 387 Dimension d = getSize(); 388 String frameTitle = frame.getTitle(); 389 if (frameTitle != null) { 390 MotifGraphicsUtils.drawStringInRect(frame, g, frameTitle, 391 0, 0, d.width, d.height, 392 SwingConstants.CENTER); 393 } 394 } 395 } 396 } |