⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 splitbar.java

📁 ALGAE是一个快速创建算法演示的框架。目前支持的算法实现语言包括java和c
💻 JAVA
字号:
package edu.odu.cs.zeil.AlgAE.gui;

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Point;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;

import edu.odu.cs.zeil.AlgAE.Debug;

import edu.odu.cs.zeil.AlgAE.gui.SplitLayout;




public class SplitBar extends Canvas
{
    private boolean isHighlighted;
    private Dimension minSize;
    private static final int barThickness = 6;
    private SplitLayout layoutMgr;
    private Point startDrag;
    

    public SplitBar (SplitLayout layoutManager)
    {
	isHighlighted = false;
	minSize = new Dimension(barThickness, barThickness);
	startDrag = null;
        layoutMgr = layoutManager;	

	addMouseListener(new MouseAdapter() {
	    public void mouseEntered(MouseEvent e) {
		isHighlighted = true;
		repaint();
	    }

	    public void mouseExited(MouseEvent e)  {
		isHighlighted = false;
		repaint();
	    }

	    public void mousePressed(MouseEvent e)  {
		Debug.show (Debug.splitters, "mouse button pressed " + e.getX() + " " + e.getY());
		startDrag = new Point (e.getX(), e.getY());
	    }
	    
	    public void mouseReleased(MouseEvent e) {
		Debug.show (Debug.splitters, "mouse button released " + e.getX() + " " + e.getY());
		if (startDrag != null) {
		    Dimension delta = new Dimension
			(e.getX() - startDrag.x,
			 e.getY() - startDrag.y);
		    if (Math.abs(delta.width) + Math.abs(delta.height) > 4) {
			layoutMgr.alterSize (delta);
		    }
		    startDrag = null;
		}
	    }
	} );
	
    }

    public Dimension getPreferredSize () {
	return minSize;
    }

    public Dimension getMinimumSize () {
	return minSize;
    }
    
    
    public void paint (Graphics g)
    {
	g.setColor ((isHighlighted) ? Color.blue : Color.lightGray);
	Dimension size = SplitBar.this.getSize();
	g.fill3DRect (1, 1, size.width-2, size.height-2, true);
    }
    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -