下面列出了怎么用javax.swing.plaf.ScrollBarUI的API类实例代码及写法,或者点击链接到github查看源代码。
public static boolean canBePreprocessed(MouseEvent e, JScrollBar bar) {
if (e.getID() == MouseEvent.MOUSE_MOVED || e.getID() == MouseEvent.MOUSE_PRESSED) {
ScrollBarUI ui = bar.getUI();
if (ui instanceof BasicScrollBarUI) {
BasicScrollBarUI bui = (BasicScrollBarUI)ui;
try {
Rectangle rect = (Rectangle)ReflectionUtil.getDeclaredMethod(BasicScrollBarUI.class, "getThumbBounds", ArrayUtil.EMPTY_CLASS_ARRAY).invoke(bui);
Point point = SwingUtilities.convertPoint(e.getComponent(), e.getX(), e.getY(), bar);
return !rect.contains(point);
}
catch (Exception e1) {
return true;
}
}
}
return true;
}
/**
* Maps {@code JScrollBar.getUI()} through queue
*/
public ScrollBarUI getUI() {
return (runMapping(new MapAction<ScrollBarUI>("getUI") {
@Override
public ScrollBarUI map() {
return ((JScrollBar) getSource()).getUI();
}
}));
}
@Override
public ScrollBarUI getUI() {
return delegate.getUI();
}
@Override
public void setUI(ScrollBarUI ui) {
delegate.setUI(ui);
}
@Override
public void setUI(ScrollBarUI ui) {
super.setUI(ui);
setOpaque(false);
}