MCPcopy Index your code
hub / github.com/comtel2000/jfxvnc

github.com/comtel2000/jfxvnc @1.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.2.0 ↗ · + Follow
656 symbols 1,479 edges 111 files 31 documented · 5%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

JFX VNC

Build Status License Maven Central

JFX VNC is a Java VNC remote desktop client based on JavaFX and divided into two parts. One module (jfxvnc-net) is a RFB/VNC remote desktop protocol based on Netty. The other module (jfxvnc-ui) contains the JavaFX based VNC viewer UI armed with many great ControlsFX controls and the just-enough MVP framework afterburner.fx

video

Modules

  • jfxvnc-net (netty based VNC / RFB protocol)
  • jfxvnc-ui (JavaFX VNC components)
  • jfxvnc-swing (Java Swing VNC components)
  • jfxvnc-app (JavaFX VNC client app)

Supports

  • RFB 3.3 to 3.8 protocol
  • RAW, Copy Rect, Zlib (0.0.2), Cursor, Desktop Resize Encoding, Hextile (1.0.2)
  • VNC Auth security and SSL
  • true/full color pixel format (24 depth) + 8bpp
  • Server/Client clipboard transfer
  • Zoom, Full screen (0.0.2)
  • Touch gesture support
  • VNC listening mode (0.0.3)

Roadmap

  • TRLE, ZRLE, Tight, Turbo, etc. encodings
  • more than 'VNC Auth' security
  • ...

How to build and run

What is required:

mvn clean install
java -jar jfxvnc-app/target/jfxvnc-jar-with-dependencies.jar

Maven central repository


<dependency>
  <groupId>org.jfxvnc</groupId>
  <artifactId>jfxvnc-net</artifactId>
  <version>[LATEST_RELEASE]</version>
</dependency>

<dependency>
  <groupId>org.jfxvnc</groupId>
  <artifactId>jfxvnc-ui</artifactId>
  <version>[LATEST_RELEASE]</version>
</dependency>

<dependency>
  <groupId>org.jfxvnc</groupId>
  <artifactId>jfxvnc-app</artifactId>
  <version>[LATEST_RELEASE]</version>
</dependency>

Links

License

Apache License, Version 2.0

Extension points exported contracts — how you extend this code

FrameDecoder (Interface)
(no doc) [20 implementers]
jfxvnc-net/src/main/java/org/jfxvnc/net/rfb/codec/decoder/FrameDecoder.java
FrameRectDecoder (Interface)
(no doc) [11 implementers]
jfxvnc-net/src/main/java/org/jfxvnc/net/rfb/codec/decoder/rect/FrameRectDecoder.java
RenderProtocol (Interface)
(no doc) [4 implementers]
jfxvnc-net/src/main/java/org/jfxvnc/net/rfb/render/RenderProtocol.java
KeyButtonMap (Interface)
(no doc) [4 implementers]
jfxvnc-net/src/main/java/org/jfxvnc/net/rfb/codec/encoder/KeyButtonMap.java
HandshakeEvent (Interface)
(no doc) [4 implementers]
jfxvnc-net/src/main/java/org/jfxvnc/net/rfb/codec/handshaker/event/HandshakeEvent.java

Core symbols most depended-on inside this repo

fire
called by 67
jfxvnc-ui/src/main/java/org/jfxvnc/ui/KeyButtonEventHandler.java
bind
called by 38
jfxvnc-app/src/main/java/org/jfxvnc/app/persist/SessionContext.java
getHeight
called by 28
jfxvnc-net/src/main/java/org/jfxvnc/net/rfb/render/rect/ImageRect.java
getWidth
called by 27
jfxvnc-net/src/main/java/org/jfxvnc/net/rfb/render/rect/ImageRect.java
getWidth
called by 19
jfxvnc-net/src/main/java/org/jfxvnc/net/rfb/codec/decoder/rect/FrameRect.java
getHeight
called by 13
jfxvnc-net/src/main/java/org/jfxvnc/net/rfb/codec/decoder/rect/FrameRect.java
getX
called by 12
jfxvnc-net/src/main/java/org/jfxvnc/net/rfb/render/rect/ImageRect.java
getY
called by 12
jfxvnc-net/src/main/java/org/jfxvnc/net/rfb/render/rect/ImageRect.java

Shape

Method 535
Class 95
Interface 16
Enum 10

Languages

Java100%

Modules by API surface

jfxvnc-ui/src/main/java/org/jfxvnc/ui/service/VncRenderService.java27 symbols
jfxvnc-swing/src/main/java/org/jfxvnc/swing/service/VncRenderService.java27 symbols
jfxvnc-net/src/main/java/org/jfxvnc/net/rfb/codec/PixelFormat.java25 symbols
jfxvnc-swing/src/main/java/org/jfxvnc/swing/control/VncComponent.java23 symbols
jfxvnc-net/src/main/java/org/jfxvnc/net/rfb/render/ConnectInfoEvent.java22 symbols
jfxvnc-app/src/main/java/org/jfxvnc/app/persist/SessionContext.java19 symbols
jfxvnc-swing/src/main/java/org/jfxvnc/swing/PointerEventHandler.java17 symbols
jfxvnc-net/src/main/java/org/jfxvnc/net/rfb/render/ProtocolConfiguration.java16 symbols
jfxvnc-net/src/main/java/org/jfxvnc/net/rfb/render/DefaultProtocolConfiguration.java16 symbols
jfxvnc-net/src/main/java/org/jfxvnc/net/rfb/codec/decoder/rect/HextileDecoder.java16 symbols
jfxvnc-swing/src/test/java/org/jfxvnc/swing/SwingDemo.java15 symbols
jfxvnc-net/src/main/java/org/jfxvnc/net/rfb/VncConnection.java15 symbols

For agents

$ claude mcp add jfxvnc \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact