Monoalphabetic Cipher in Java With GUI
Input validation

It would be good to validate user input. 
If I enter "hello" as the key value, 
The UI won't like it very much.

Shifting

An idea to simplify the shifting.
Instead of taking modulo for each character,
double the alphabet (concatenate the original alphabet twice), and normalize the key value.
The solution will use twice the space for the alphabet,
but the shifting will be much faster without the modulo.

Skipping unknown characters

The current algorithm checks if a character is in the alphabet, skipping without translation if it's not. So if you convert an English sentence with space characters, the word boundaries will be lost, which will be a problem when reversing the process.

Finding the index twice

The current algorithm checks is in the alphabet, if yes it calls another to perform the shift. That method finds the index again for the second time, to calculate the shifted index. This second lookup could be eliminated if you rename "shift" to "translate" and change its behavior to lookup the index once and reuse it.

Dummy data

Instead of hardcoding the dummy result it would be better to compute it using the cipher.

Naming constants

The convention is to use SHOUTCASE for constants like the alphabet.

Testing

A bunch of assertions in a main method are no substitute for proper unit testing.