下面列出了java.awt.event.MouseWheelEvent#isControlDown() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void mouseWheelMoved(MouseWheelEvent e) {
if (e.isControlDown()) {
int zoomLevel = zoomComboBox.getSelectedIndex();
int notches = e.getWheelRotation();
if (zoomLevel != -1) {
if (notches < 0) {
if (zoomLevel > 0) {
zoomLevel--;
zoomComboBox.setSelectedIndex(zoomLevel);
}
}
else {
if (zoomLevel < zoomComboBox.getItemCount() - 1) {
zoomLevel++;
zoomComboBox.setSelectedIndex(zoomLevel);
}
}
}
}
}
@Override
public void mouseWheelMoved(final MouseWheelEvent event) {
final int ticks = Math.abs(event.getUnitsToScroll());
// When the user holds down control, we switch between the two modes
final boolean changeMode = event.isControlDown();
for (int i = 0; i < ticks; ++i) {
if (((m_zyGraph.getSettings().getMouseSettings().getMouseWheelAction() == MouseWheelAction.ZOOM) && !changeMode)
|| ((m_zyGraph.getSettings().getMouseSettings().getMouseWheelAction() == MouseWheelAction.SCROLL) && changeMode)) {
handleInZoomMode(event);
} else {
handleInMoveMode(event);
}
}
m_zyGraph.updateViews();
}
private void mouseWheel(MouseWheelEvent e) {
if (!e.isControlDown()) {
if (e.getWheelRotation() < 0 && currentLayer < maxLayer - 1) {
currentLayer++;
}
if (e.getWheelRotation() > 0 && currentLayer > 0) {
currentLayer--;
}
setCurrentLayer(currentLayer);
} else {
scaleByAmount(e.getUnitsToScroll() * -0.1);
}
}
@Override
public void mouseWheelMoved(MouseWheelEvent e) {
if (e.isControlDown()) {
if (e.getWheelRotation() < 0) {
erdesigner.commandZoomOneLevelIn();
} else {
erdesigner.commandZoomOneLevelOut();
}
}
}
public void mouseWheelMoved(MouseWheelEvent e) {
if (e.isControlDown()) {
if (e.getWheelRotation() < 0) {
getEditor().ZoomMais();
} else {
getEditor().ZoomMenos();
}
e.consume();
}
}
/**
* Called when the mouse wheel is moved.
* If CTRL key is down, modify current zoom ratio accordingly, otherwise
* forward the wheel event to proper container (JScrollPane usually).
*
* @param e the mouse wheel event
*/
@Override
public void mouseWheelMoved (MouseWheelEvent e)
{
// CTRL is down?
if (e.isControlDown()) {
double ratio = zoom.getRatio();
if (e.getWheelRotation() > 0) {
ratio /= factor;
} else {
ratio *= factor;
}
zoom.setRatio(ratio);
} else {
// Forward event to some container of the component?
Container container = component.getParent();
while (container != null) {
if (container instanceof JComponent) {
JComponent comp = (JComponent) container;
MouseWheelListener[] listeners = comp.getMouseWheelListeners();
if (listeners.length > 0) {
for (MouseWheelListener listener : listeners) {
listener.mouseWheelMoved(e);
}
return;
}
}
container = container.getParent();
}
}
}
@Override
public void mouseWheelMoved(final MouseWheelEvent e) {
if (e.isControlDown()) {
final float newzoom;
if (e.getPreciseWheelRotation() > 0) {
newzoom = Math.max(1.0f, this.zoom - 0.2f);
} else {
newzoom = Math.min(5.0f, this.zoom + 0.2f);
}
if (newzoom != this.zoom) {
updateZoom(newzoom);
}
}
}
/**
* Called when the mouse wheel is moved.
* If CTRL key is down, modify current zoom ratio accordingly, otherwise
* forward the wheel event to proper container (JScrollPane usually).
*
* @param e the mouse wheel event
*/
@Override
public void mouseWheelMoved (MouseWheelEvent e)
{
// CTRL is down?
if (e.isControlDown()) {
double ratio = zoom.getRatio();
if (e.getWheelRotation() > 0) {
ratio /= factor;
} else {
ratio *= factor;
}
zoom.setRatio(ratio);
} else {
// Forward event to some container of the component?
Container container = component.getParent();
while (container != null) {
if (container instanceof JComponent) {
JComponent comp = (JComponent) container;
MouseWheelListener[] listeners = comp.getMouseWheelListeners();
if (listeners.length > 0) {
for (MouseWheelListener listener : listeners) {
listener.mouseWheelMoved(e);
}
return;
}
}
container = container.getParent();
}
}
}
@Override
public void mouseWheelMoved (MouseWheelEvent e)
{
/*
* java.awt.event.MouseWheelEvent
* [MOUSE_WHEEL,(628,24),absolute(0,0),button=0,modifiers=Ctrl,extModifiers=Ctrl,clickCount=0,scrollType=WHEEL_UNIT_SCROLL,scrollAmount=3,wheelRotation=-1]
* on javax.swing.JPanel[,0,0,800x30,layout=java.awt.FlowLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
*/
//System.out.println("e: " + e);
int scrollAmount = e.getScrollAmount();
int scrollType = e.getScrollType();
int unitsToScroll = e.getUnitsToScroll();
int wheelRotation = e.getWheelRotation();
boolean ctrl = e.isControlDown();
// System.out.println(
// "CTRL:" + ctrl + " amount:" + scrollAmount + " type:" + scrollType +
// " units:" + unitsToScroll + " rotation:" + wheelRotation);
if (ctrl) {
double val = slider.getDoubleValue();
System.out.println("val:" + val);
if (wheelRotation > 0) {
val /= factor;
} else {
val *= factor;
}
System.out.println(" val:" + val);
slider.setDoubleValue(val);
}
}
@Override
public void mouseWheelMoved(MouseWheelEvent e) {
if (e.isAltDown() || e.isAltGraphDown() || e.isControlDown() || e.isShiftDown()) {
return;
}
Viewport viewport = layerCanvas.getViewport();
int wheelRotation = e.getWheelRotation();
if (invertZooming) {
wheelRotation *= -1;
}
double oldZoomFactor = viewport.getZoomFactor();
double newZoomFactor = oldZoomFactor * Math.pow(1.1, wheelRotation);
viewport.setZoomFactor(newZoomFactor);
}
@Override
public void mouseWheelMoved(final MouseWheelEvent e) {
if (e.isControlDown() && e.getWheelRotation() != 0) {
double oldZoomFactor = rendererView.getModel().getZoomFactor();
if (e.getWheelRotation() < 0) {
rendererView.getModel().zoomIn();
} else {
rendererView.getModel().zoomOut();
}
rendererView.getModel().fireProcessZoomChanged();
// calculate how the scrollbar needs to be adjusted for centered zoom
double relativeZoomFactor = rendererView.getModel().getZoomFactor() / oldZoomFactor;
double differenceHorizontal = e.getPoint().getX() * (relativeZoomFactor - 1);
double differenceVertical = e.getPoint().getY() * (relativeZoomFactor - 1);
int newX = Math.max(0, (int) (scrollPane.getHorizontalScrollBar().getValue() + differenceHorizontal));
int newY = Math.max(0, (int) (scrollPane.getVerticalScrollBar().getValue() + differenceVertical));
scrollPane.getHorizontalScrollBar().setValue(newX);
scrollPane.getVerticalScrollBar().setValue(newY);
// prevent flickering when another adjustment of the scrollbars is needed
RepaintManager.currentManager(scrollPane).markCompletelyClean(scrollPane);
/**
* Setting the value as above does not always work since the scrollbars are not yet
* updated to the size changes caused by the zooming. Set flag an values to try
* again after the resizing happened.
*/
zoomed = true;
desiredVerticalScrollValue = newY;
desiredHorizontalScrollValue = newX;
return;
}
Container p = rendererView.getParent();
if (p != null) {
p.dispatchEvent(SwingUtilities.convertMouseEvent(rendererView, e, p));
}
}
public static boolean isChangeFontSize(@Nonnull MouseWheelEvent e) {
if (e.getWheelRotation() == 0) return false;
return SystemInfo.isMac ? !e.isControlDown() && e.isMetaDown() && !e.isAltDown() && !e.isShiftDown() : e.isControlDown() && !e.isMetaDown() && !e.isAltDown() && !e.isShiftDown();
}