|
|
|
@ -9,7 +9,9 @@ import javax.swing.*;
|
|
|
|
|
import javax.swing.plaf.ComponentUI; |
|
|
|
|
import javax.swing.plaf.basic.BasicTabbedPaneUI; |
|
|
|
|
import java.awt.*; |
|
|
|
|
import java.awt.event.*; |
|
|
|
|
import java.awt.event.MouseEvent; |
|
|
|
|
import java.awt.event.MouseListener; |
|
|
|
|
import java.awt.event.MouseMotionListener; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Coder: Sean |
|
|
|
@ -30,10 +32,11 @@ public class UITabbedPaneUI extends BasicTabbedPaneUI {
|
|
|
|
|
private int addY = -1; |
|
|
|
|
private int rollover = -1; |
|
|
|
|
private Color tabBorderColor = new Color(143, 160, 183); |
|
|
|
|
private Color[] tabSelectedColor = {UIConstants.NORMAL_BLUE, new Color(187, 142, 33), new Color(214, 191, 137)}; |
|
|
|
|
private Color[] tabSelectedColor = {UIConstants.NORMAL_BLUE, UIConstants.NORMAL_BLUE, UIConstants.NORMAL_BLUE}; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 创建UI对象 |
|
|
|
|
* |
|
|
|
|
* @param c 容器 |
|
|
|
|
* @return 返回UI对象 |
|
|
|
|
*/ |
|
|
|
@ -49,6 +52,7 @@ public class UITabbedPaneUI extends BasicTabbedPaneUI {
|
|
|
|
|
tabPane.addMouseMotionListener( |
|
|
|
|
(MouseMotionListener) mouseListener); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected MouseListener createMouseListener() { |
|
|
|
|
return new UIMouseHandler(); |
|
|
|
|
} |
|
|
|
@ -56,6 +60,7 @@ public class UITabbedPaneUI extends BasicTabbedPaneUI {
|
|
|
|
|
public class UIMouseHandler implements MouseListener, MouseMotionListener { |
|
|
|
|
/** |
|
|
|
|
* 鼠标按下 |
|
|
|
|
* |
|
|
|
|
* @param e 事件 |
|
|
|
|
*/ |
|
|
|
|
public void mousePressed(MouseEvent e) { |
|
|
|
@ -81,12 +86,15 @@ public class UITabbedPaneUI extends BasicTabbedPaneUI {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 鼠标进入 |
|
|
|
|
* |
|
|
|
|
* @param e 事件 |
|
|
|
|
*/ |
|
|
|
|
public void mouseEntered(MouseEvent e) {} |
|
|
|
|
public void mouseEntered(MouseEvent e) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 鼠标离开 |
|
|
|
|
* |
|
|
|
|
* @param e 事件 |
|
|
|
|
*/ |
|
|
|
|
public void mouseExited(MouseEvent e) { |
|
|
|
@ -101,12 +109,15 @@ public class UITabbedPaneUI extends BasicTabbedPaneUI {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 鼠标点击 |
|
|
|
|
* |
|
|
|
|
* @param e 事件 |
|
|
|
|
*/ |
|
|
|
|
public void mouseClicked(MouseEvent e) {} |
|
|
|
|
public void mouseClicked(MouseEvent e) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 鼠标释放 |
|
|
|
|
* |
|
|
|
|
* @param e 事件 |
|
|
|
|
*/ |
|
|
|
|
public void mouseReleased(MouseEvent e) { |
|
|
|
@ -125,12 +136,15 @@ public class UITabbedPaneUI extends BasicTabbedPaneUI {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 鼠标拖拽 |
|
|
|
|
* |
|
|
|
|
* @param e 事件 |
|
|
|
|
*/ |
|
|
|
|
public void mouseDragged(MouseEvent e) {} |
|
|
|
|
public void mouseDragged(MouseEvent e) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 鼠标移动 |
|
|
|
|
* |
|
|
|
|
* @param e 事件 |
|
|
|
|
*/ |
|
|
|
|
public void mouseMoved(MouseEvent e) { |
|
|
|
@ -154,6 +168,7 @@ public class UITabbedPaneUI extends BasicTabbedPaneUI {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 判断鼠标是否在添加按钮上 |
|
|
|
|
* |
|
|
|
|
* @param x 鼠标坐标x |
|
|
|
|
* @param y 鼠标坐标y |
|
|
|
|
* @return 返回鼠标是否在添加按钮上 |
|
|
|
@ -165,6 +180,7 @@ public class UITabbedPaneUI extends BasicTabbedPaneUI {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 判断鼠标是否在关闭按钮上 |
|
|
|
|
* |
|
|
|
|
* @param x 鼠标坐标x |
|
|
|
|
* @param y 鼠标坐标y |
|
|
|
|
* @return 返回鼠标是否在关闭按钮上 |
|
|
|
@ -176,6 +192,7 @@ public class UITabbedPaneUI extends BasicTabbedPaneUI {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 如果tab只剩下最后一个,则不画删除按钮 |
|
|
|
|
* |
|
|
|
|
* @return 返回当前tab还可否关闭 |
|
|
|
|
*/ |
|
|
|
|
private boolean canClose() { |
|
|
|
@ -258,6 +275,7 @@ public class UITabbedPaneUI extends BasicTabbedPaneUI {
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 更新界面 |
|
|
|
|
* |
|
|
|
|
* @param g |
|
|
|
|
* @param c |
|
|
|
|
*/ |
|
|
|
@ -427,5 +445,6 @@ public class UITabbedPaneUI extends BasicTabbedPaneUI {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected class UITabbedPaneLayout extends TabbedPaneLayout {} |
|
|
|
|
protected class UITabbedPaneLayout extends TabbedPaneLayout { |
|
|
|
|
} |
|
|
|
|
} |