Difference between revisions of "JavaFX"

From BITPlan can4eve Wiki
Jump to navigation Jump to search
(Created page with "<source lang='java'> →‎* * update the given tab with the given panel * * @param tab * @param panel: public void updateTab(Tab tab, JPanel panel) { if (...")
 
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
= JavaFx on Raspberry PI =
 +
* https://blog.codecentric.de/2015/09/kaffee-und-kuchen-projekte-mit-java-embedded-8-auf-dem-raspberry-pi/
 +
* http://gluonhq.com/products/mobile/javafxports/get/
 +
* https://stackoverflow.com/questions/28284239/javafx-ensemble-on-raspberry-pi
 +
 +
== javafx install script ==
 +
<source lang='bash'>
 +
#!/bin/bash
 +
# install javafx on raspberry PI
 +
# WF 2019-01-13
 +
src=/usr/local/src
 +
ext=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/lib/ext
 +
javafx=armv6hf-sdk
 +
 +
#ansi colors
 +
#http://www.csc.uvic.ca/~sae/seng265/fall04/tips/s265s047-tips/bash-using-colors.html
 +
blue='\033[0;34m'
 +
red='\033[0;31m'
 +
green='\033[0;32m' # '\e[1;32m' is too bright for white bg.
 +
endColor='\033[0m'
 +
 +
#
 +
# a colored message
 +
#  params:
 +
#    1: l_color - the color of the message
 +
#    2: l_msg - the message to display
 +
#
 +
color_msg() {
 +
  local l_color="$1"
 +
  local l_msg="$2"
 +
  echo -e "${l_color}$l_msg${endColor}"
 +
}
 +
 +
#
 +
# show the given error message on stderr and exit
 +
#
 +
#  params:
 +
#    1: l_msg - the error message to display
 +
#
 +
error() {
 +
  local l_msg="$1"
 +
    # use ansi red for error
 +
      color_msg $red "Error:" 1>&2
 +
        color_msg $red "\t$l_msg" 1>&2
 +
  exit 1
 +
  }
 +
#
 +
# error
 +
#
 +
# show the given error message on stderr and exit
 +
#
 +
#  params:
 +
#    1: l_msg - the error message to display
 +
#
 +
error() {
 +
  local l_msg="$1"
 +
  # use ansi red for error
 +
  color_msg $red "Error:" 1>&2
 +
  color_msg $red "\t$l_msg" 1>&2
 +
  exit 1
 +
}
 +
 +
color_msg $blue "Trying to install javafx"
 +
if [ ! -d $ext ]
 +
then
 +
  error "directory $ext does not exists - was expecting a java installation"
 +
fi
 +
 +
if [ ! -d $src ]
 +
then
 +
  error "directory $src is missing - was expecting it"
 +
fi
 +
cd $src
 +
 +
if [ ! -f $javafx.zip ]
 +
then
 +
  color_msg $blue "downloading $javafx.zip"
 +
  sudo curl -L https://gluonhq.com/download/javafx-embedded-sdk/ -o $javafx.zip
 +
else
 +
  color_msg $green "$javafx.zip already downloaded"
 +
fi
 +
 +
if [ ! -d $javafx ]
 +
then
 +
  color_msg $blue "extracting" $javafx.zip
 +
  sudo unzip $javafx.zip
 +
else
 +
  color_msg $green "$javafx already extracted"
 +
fi
 +
 +
cd $ext
 +
color_msg $blue "creating symlinks"
 +
for path in rt/lib/arm rt/lib/ext/jfxrt.jar lib/javafx-mx.jar lib7JFX rt/lib/jfxswt.jar
 +
do
 +
  from=$src/$javafx/$path
 +
  b=$(basename $from)
 +
  if [ -L $b ]
 +
  then
 +
  color_msg $green "symbolic link $b already exists"
 +
  else
 +
  sudo ln -s $src/$javafx/$path .
 +
  fi
 +
done
 +
</source>
 +
* http://docs.gluonhq.com/javafxports/
 +
 +
= Medusa Gauge Library =
 +
https://github.com/HanSolo/Medusa/wiki/Gauge-Skins
 +
 +
= SwingNode not useable on Raspberry PI =
 +
The following code needs Swing and doesn't run properly on a raspberry PI even if JavaFX support is enabled.
 
<source lang='java'>
 
<source lang='java'>
 
/**
 
/**
Line 14: Line 125:
 
   }
 
   }
 
</source>
 
</source>
 +
= Links =
 +
* https://de.slideshare.net/SimonRitter/the-raspberry-pi-javafx-carputer

Latest revision as of 22:28, 17 July 2019

JavaFx on Raspberry PI

javafx install script

#!/bin/bash
# install javafx on raspberry PI
# WF 2019-01-13
src=/usr/local/src
ext=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/lib/ext
javafx=armv6hf-sdk

#ansi colors
#http://www.csc.uvic.ca/~sae/seng265/fall04/tips/s265s047-tips/bash-using-colors.html
blue='\033[0;34m'
red='\033[0;31m'
green='\033[0;32m' # '\e[1;32m' is too bright for white bg.
endColor='\033[0m'

#
# a colored message 
#   params:
#     1: l_color - the color of the message
#     2: l_msg - the message to display
#
color_msg() {
  local l_color="$1"
  local l_msg="$2"
  echo -e "${l_color}$l_msg${endColor}"
}

#
# show the given error message on stderr and exit
#
#   params:
#     1: l_msg - the error message to display
#
error() {
	  local l_msg="$1"
	    # use ansi red for error
	      color_msg $red "Error:" 1>&2
	        color_msg $red "\t$l_msg" 1>&2
		  exit 1
	  }
#
# error
#
# show the given error message on stderr and exit
#
#   params:
#     1: l_msg - the error message to display
#
error() {
  local l_msg="$1"
  # use ansi red for error
  color_msg $red "Error:" 1>&2
  color_msg $red "\t$l_msg" 1>&2
  exit 1
}

color_msg $blue "Trying to install javafx"
if [ ! -d $ext ]
then
  error "directory $ext does not exists - was expecting a java installation"
fi

if [ ! -d $src ]
then
  error "directory $src is missing - was expecting it"
fi
cd $src 

if [ ! -f $javafx.zip ]
then
  color_msg $blue "downloading $javafx.zip"
  sudo curl -L https://gluonhq.com/download/javafx-embedded-sdk/ -o $javafx.zip
else
  color_msg $green "$javafx.zip already downloaded"
fi

if [ ! -d $javafx ]
then
  color_msg $blue "extracting" $javafx.zip
  sudo unzip $javafx.zip
else
  color_msg $green "$javafx already extracted"
fi

cd $ext
color_msg $blue "creating symlinks"
for path in rt/lib/arm rt/lib/ext/jfxrt.jar lib/javafx-mx.jar lib7JFX rt/lib/jfxswt.jar
do
  from=$src/$javafx/$path
  b=$(basename $from)
  if [ -L $b ]
  then
   color_msg $green "symbolic link $b already exists"
  else
   sudo ln -s $src/$javafx/$path .
  fi
done

Medusa Gauge Library

https://github.com/HanSolo/Medusa/wiki/Gauge-Skins

SwingNode not useable on Raspberry PI

The following code needs Swing and doesn't run properly on a raspberry PI even if JavaFX support is enabled.

/**
   * update the given tab with the given panel
   * 
   * @param tab
   * @param panel
   */
  public void updateTab(Tab tab, JPanel panel) {
    if (panel != null) {
      final SwingNode swingNode = new SwingNode();
      swingNode.setContent(panel);
      tab.setContent(swingNode);
    }
  }

Links