I have no experience with standard-input and standard-output (no idea what it means)
Then you will need to do some research before attempting to write your GUI front-end.
Have you written any Java code that uses Runtime.exec() to run another program? If so, you may have used the Process's inputStream, outputStream, and errorStream to get data from the process, send data to the process, or read the error message from the process. All three streams are the "standard" streams of the child process: stdin, stdout, stderr (their C symbol names when using stdio.h).
In a Java program, the System.in, System.out, and System.err streams are that process's stdin, stdout, and stderr streams.
In a shell command, < redirects stdin to a file, > redirects stdout, and 2> redirects stderr.
In a shell pipeline, such as
cat fee fie foo | sort, the stdout of the cat process is connected to the stdin of the sort process by a pipe (see:
man 2 pipe). Both processes run concurrently. sort will wait for input, and cat will wait for its stdout pipe buffer to drain, so the processes never outrun one another nor are they starved for data.