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

📄 scrollablepicture.java

📁 这是一个英文版的《Java程序设计与问题解决》现在好多大学都当成教材
💻 JAVA
字号:
import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.border.*;/* ScrollablePicture.java is used by ScrollDemo.java. */public class ScrollablePicture extends JLabel                               implements Scrollable {    private int maxUnitIncrement = 1;    private boolean missingPicture = false;    public ScrollablePicture(ImageIcon i, int m) {        super(i);        if (i == null) {            missingPicture = true;            setText("No picture found.");            setHorizontalAlignment(CENTER);            setOpaque(true);            setBackground(Color.white);        }        maxUnitIncrement = m;    }    public Dimension getPreferredSize() {        if (missingPicture) {            return new Dimension(320, 480);        } else {            return super.getPreferredSize();        }    }    public Dimension getPreferredScrollableViewportSize() {        return getPreferredSize();    }    public int getScrollableUnitIncrement(Rectangle visibleRect,                                          int orientation,                                          int direction) {        //Get the current position.        int currentPosition = 0;        if (orientation == SwingConstants.HORIZONTAL) {            currentPosition = visibleRect.x;        } else {            currentPosition = visibleRect.y;        }        //Return the number of pixels between currentPosition        //and the nearest tick mark in the indicated direction.        if (direction < 0) {            int newPosition = currentPosition -                             (currentPosition / maxUnitIncrement) *                              maxUnitIncrement;            return (newPosition == 0) ? maxUnitIncrement : newPosition;        } else {            return ((currentPosition / maxUnitIncrement) + 1) *                   maxUnitIncrement - currentPosition;        }    }    public int getScrollableBlockIncrement(Rectangle visibleRect,                                           int orientation,                                           int direction) {        if (orientation == SwingConstants.HORIZONTAL) {            return visibleRect.width - maxUnitIncrement;        } else {            return visibleRect.height - maxUnitIncrement;        }    }    public boolean getScrollableTracksViewportWidth() {        return false;    }    public boolean getScrollableTracksViewportHeight() {        return false;    }    public void setMaxUnitIncrement(int pixels) {        maxUnitIncrement = pixels;    }}

⌨️ 快捷键说明

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