Part 1 of a series of posts on how to develop JavaFX custom controls that demonstrate using drag-and-drop to create and move objects. The result is a simple application that mimics node-style editors found in major software like Blender and Unreal Development Kit (UDK).
Tag Archives: custom controls
To this point, we’ve built a skeleton application with two custom controls: RootLayout, which consists of a hierarchy of containers that define the main application view, and DragIcon, which is a simple AnchorPane representing a draggable object we can drag and drop from the left to the right side of our application. We also added […]
To this point, we’ve created our skeleton application with a SplitPane view populated with a vertical list of colored icons at left. These icons are draggable from the left-hand pane to the right-hand pane, but that’s it. In this post, we’ll complete the first drag-and-drop function as well as implement a custom drag-and-drop data structure […]
This post marks the beginning of the second component of our application, namely, making objects draggable. Most of the hard work has already been done in the first four parts of this series. We’ll rely heavily on the code already written to build what remains. Before we can begin writing code to make a draggable […]
We’ve added the new DraggableNode component to our application and put it into action, so that dragging and dropping a DragIcon from the left-hand pane to the right-hand pane results in the addition of a new DraggableNode of the same type. Now, we need to implement the handling that allows us to both move and […]
We begin the final component to this drag-and-drop series: Linking draggable nodes with cubic curves. The end result will be draggable nodes that can be connected with cubic curves to visually describe not only the data an application may handle, but also how that data is interrelated. This is a fairly complex component, and it […]
This is the tricky part. 🙂 In this post, we’ll develop the code which manages the CubicCurve we’ve wrapped in our NodeLink class, make it “drawable” using the drag-and-drop operation that we’ve already written, bind it so that it is always connecting it’s nodes, no matter where they go, and shape the curve to our […]