Pessoal, estou com o erro acima na tentativa de fazer um Drag and Drop de uma imagem. Busquei na web
e vi referências a necessidade de implementar a interface. Coloquei implements EventHandler e, neste caso
da um outro erro, além do erro do título, como segue:
- error: MyClasss not abstract and does not override abstract method handle(Event) in EventHandler
public class MyClass extends Application implements EventHandler
O erro do título dá no @Override do setOnDragOver e tb nos 2 Override seguintes.
Dêem uma olhada no código (reduzido) abaixo:
package pack1;
import java.util.List;
import java.util.ArrayList;
import java.util.regex.Pattern;
import java.util.Scanner;
import java.util.NoSuchElementException;
import java.lang.IllegalArgumentException;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.stage.Stage;
import javafx.stage.Modality;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundImage;
import javafx.scene.layout.BackgroundRepeat;
import javafx.scene.layout.BackgroundPosition;
import javafx.scene.layout.BackgroundSize;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.control.TableView;
import javafx.scene.control.TableColumn;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.control.TableRow;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.control.TextFormatter;
import javafx.scene.control.TextInputControl;
import javafx.scene.Node;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.TextBuilder;
import javafx.scene.input.DragEvent;
import javafx.scene.input.Dragboard;
import javafx.scene.input.TransferMode;
import javafx.scene.input.MouseEvent;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.geometry.Side;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import java.io.FileReader;
import java.io.File;
import java.io.BufferedWriter;
import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.IOException;
public class MyClass extends Application implements EventHandler
{
@Override
public void start(Stage primaryStage)
{
// Muito código
Scene oCena = myMethod (primaryStage);
}
public Scene myMethod (Stage primaryStage)
{
// Muito código
HBox myHbox = new HBox();
myHbox.setOnDragOver(new EventHandler()
{
@Override
public void handle(DragEvent event)
{
System.out.println(">>>>> Imagem Dropada");
}
});
myHbox.setOnDragDropped(new EventHandler()
{
@Override
public void handle(DragEvent event)
{
System.out.println(">>>>> Imagem Dropada");
}
});
myHbox.setOnDragExited(new EventHandler()
{
@Override
public void handle(DragEvent event)
{
System.out.println(">>>>> Imagem Dropada");
}
});
// Muito código
Scene myScene = new Scene(myHbox, 800, 600);
return myScene.
}
Agradeço a ajuda.