Language - Java macOS Javac

From Phidgets Support
Jump to: navigation, search

Language - Java

MacOS with javac

Welcome to using Phidgets with Java! By using Java, you will have access to the complete Phidget22 API, including events.

javac is a command line-based compiler for java programs that compiles java code into bytecode class files.

Install Phidget Drivers for macOS

Before getting started with the guides below, ensure you have the following components installed on your machine:

  1. You will need the Phidgets macOS Drivers
  2. You will need the Java Development Kit from Oracle
  3. You will need a copy of phidget22.jar

Use Our Examples

One of the best ways to start programming with Phidgets is to use our example code as a guide. Before we get started, make sure you have installed the Phidget drivers.

Next, select an example that will work with your Phidget:

Place both the example file and the phidget22.jar file in the same location. Your folder should now look something like this:

Java mac javac folder.png

Open the terminal at the folder location. Next, enter the following command:

javac -classpath .:phidget22.jar

Finally, enter the following command to run the program:

java -classpath .:phidget22.jar example

Java mac javac run.png

You should now have the example up and running for your device. Your next step is to look at the Editing the Examples section below for information about the example and important concepts for programming Phidgets. This would be a good time to play around with the device and experiment with some of its functionality.

Editing the Examples

To get our example code to run in a custom application, simply remove the calls to AskForDeviceParameters and PrintEventDescriptions, as well as the ChannelInfo object, then hard-code the addressing parameters for your application.

If you are unsure what values to use for the addressing parameters, check the Finding The Addressing Information page.

For instance:

//You may remove these lines and hard-code the addressing parameters to fit your application
ChannelInfo channelInfo = new ChannelInfo();  //Information from AskForDeviceParameters(). May be removed when hard-coding parameters.
PhidgetHelperFunctions.AskForDeviceParameters(channelInfo, ch);


if(channelInfo.netInfo.isRemote) {
    if(channelInfo.netInfo.serverDiscovery) {
        try {
        catch (PhidgetException e) {
            throw new Exception("Program Terminated: EnableServerDiscovery Failed", e);
    else {
        Net.addServer("Server", channelInfo.netInfo.hostname,
            channelInfo.netInfo.port, channelInfo.netInfo.password, 0);

//This call may be harmlessly removed

Might become:


Notice that you can leave out any parameter not relevant to your application for simplicity.

You can then manipulate the rest of the code as your application requires. A more in-depth description of programming with Phidgets can be found in our guide on Phidget Programming Basics.

For future Phidgets-based projects, you can leave out the and classes entirely.

Setting up a New Project

When you are building a project from scratch, or adding Phidget functionality to an existing project, you'll need to configure your development environment to properly link the Phidget Java library.

Create your new project folder and java file, and place phidget22.jar in the same folder as your new project file. Your folder should look something like this:

Java mac javac newproject folder.png

To use the Phidget Java library in your program, add the following import to your code:

import com.phidget22.*;

Once you are ready to run your program, open the terminal at the folder location. Next, enter the following command in the command prompt:

javac -classpath .:phidget22.jar

Finally, enter the following command to run the program:

java -classpath .:phidget22.jar example
Java mac javac newproject run.png

The project now has access to Phidgets.

What's Next?

Now that you have set up Phidgets to work with your programming environment, we recommend you read our guide on Phidget Programming Basics to learn the fundamentals of programming with Phidgets.Next Arrow.png