If you want to use Java, just extract the NetworkTables bindings from SmartDashboard. They have a separate jar file available that has them. The JAR is also distributed with the C++ stuff, look in C:\WindRiver\WPILib\desktop-lib
We did our
custom dashboard in python, also using
NetworkTables.
As long as both sides are using a common communication mechanism (like NetworkTables), it doesn't matter what language either side is written in.