EmptyFocusCopy.java
package com.jsql.view.swing.terminal;
import com.jsql.model.exception.JSqlRuntimeException;
import java.awt.*;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.IOException;
import java.util.Arrays;
/**
* Cancel every mouse click, only gives focus.
*/
public class EmptyFocusCopy implements MouseListener {
private final AbstractExploit abstractExploit;
public EmptyFocusCopy(AbstractExploit abstractExploit) {
this.abstractExploit = abstractExploit;
}
@Override
public void mousePressed(MouseEvent e) {
e.consume();
this.abstractExploit.requestFocusInWindow();
this.abstractExploit.setCaretPosition(this.abstractExploit.getDocument().getLength());
if (Arrays.asList(MouseEvent.BUTTON2, MouseEvent.BUTTON3).contains(e.getButton())) {
try {
String data = (String) Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor);
this.abstractExploit.append(data);
} catch (UnsupportedFlavorException | IOException ex) {
throw new JSqlRuntimeException(ex);
}
}
}
@Override
public void mouseReleased(MouseEvent e) {
e.consume();
}
@Override
public void mouseExited(MouseEvent e) {
e.consume();
}
@Override
public void mouseEntered(MouseEvent e) {
e.consume();
}
@Override
public void mouseClicked(MouseEvent e) {
e.consume();
}
}