![JAR search and dependency download from the Maven repository](/logo.png)
com.objogate.wl.swing.driver.JComponentDriver Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of windowlicker-swing Show documentation
Show all versions of windowlicker-swing Show documentation
This is the Windowlicker Swing library.
The newest version!
package com.objogate.wl.swing.driver;
import javax.swing.JComponent;
import javax.swing.KeyStroke;
import java.awt.Component;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import com.objogate.wl.Automaton;
import com.objogate.wl.Gesture;
import com.objogate.wl.Prober;
import static com.objogate.wl.gesture.Gestures.*;
import com.objogate.wl.swing.ComponentSelector;
import com.objogate.wl.swing.gesture.GesturePerformer;
import com.objogate.wl.swing.gesture.MappedKeyStrokeProbe;
public class JComponentDriver extends ComponentDriver {
public JComponentDriver(GesturePerformer gesturePerformer, ComponentSelector tComponentSelector, Prober prober) {
super(gesturePerformer, tComponentSelector, prober);
}
public JComponentDriver(ComponentDriver extends Component> parentOrOwner, ComponentSelector tComponentSelector) {
super(parentOrOwner, tComponentSelector);
}
public JComponentDriver(ComponentDriver extends Component> parentOrOwner, Class componentType, Matcher super T>... matchers) {
super(parentOrOwner, componentType, matchers);
}
public void performShortcut(final String shortcutName) {
performGesture(new Gesture() {
public void describeTo(Description description) {
description.appendText(shortcutName);
}
public void performGesture(Automaton automaton) {
MappedKeyStrokeProbe keyStrokeProbe = new MappedKeyStrokeProbe(component(), appropriateInputMapId(), shortcutName);
check(keyStrokeProbe);
automaton.perform(interpretKeyStroke(keyStrokeProbe.mappedKeyStroke));
}
});
}
protected int appropriateInputMapId() {
return JComponent.WHEN_FOCUSED;
}
private Gesture interpretKeyStroke(KeyStroke keyStroke) {
return withModifierMask(keyStroke.getModifiers(),
keyStroke.isOnKeyRelease()
? releaseKey(keyStroke.getKeyCode())
: pressKey(keyStroke.getKeyCode()));
}
public void cut() {
performShortcut("cut-to-clipboard");
}
public void copy() {
performShortcut("copy-to-clipboard");
}
public void paste() {
performShortcut("paste-from-clipboard");
}
public void selectAll() {
performShortcut("select-all");
}
public void selectNothing() {
performShortcut("unselect");
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy