inoutpane.java

来自「oraily的Swing hacks code」· Java 代码 · 共 37 行

JAVA
37
字号
import java.awt.*;public class InOutPane extends TransitionTabbedPane {    public void paintTransition(Graphics2D g2, int state,            Rectangle size, Image prev) {                int length = getAnimationLength();        int half = length/2;                double scale = size.getHeight()/length;        int offset = 0;        // calculate the fade out part        if(state >= 0 && state < half) {            // draw the saved version of the old tab component            if(prev != null) {                g2.drawImage(prev,(int)size.getX(),(int)size.getY(),null);            }            offset = (int)((10-state)*scale);        }                // calculate the fade in part        if(state >= half && state < length) {            g2.setColor(Color.white);            offset = (int)((state-10)*scale);        }                        // do the drawing        g2.setColor(Color.white);        Rectangle area = new Rectangle((int)(size.getX()+offset),            (int)(size.getY()+offset),            (int)(size.getWidth()-offset*2),            (int)(size.getHeight()-offset*2));        g2.fill(area);    }}

⌨️ 快捷键说明

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