MPS comes with UI components that are similar to their Swing analogs but provide nicer, more featured UI that is also more in line with the rest of the platform. If you want to create a professional, consistent look for your MPS-based tool, use the platform components instead of their Swing equivalents.
jetbrains.mps.ide.ui.tree.MPSTree when showing MPS nodes in the tree, or
com.intellij.ui.ColoredListCellRenderer instead of
DefaultListCellRenderer to show colored labels.
Instead of using
JPopupMenu directly, use the action
Use these replacements:
com.intellij.ui.JBColor instead of
java.awt.Color to provide two colors, one for use in light mode and one for
the dark mode.
com.intellij.util.ui.UIUtil class contains many helpful static methods to obtain theme-specific colors and other settings, such as
JOptionPane.showMessageDialog() use notification balloons .
These components are used all over MPS and IntelliJ IDEA so it is often enough to find global usages of the classes mentioned above to see them in action. Some of the UI code of MPS and IDEA is inaccessible from within MPS and to look at it you may need to check out MPS sources and open them in IntelliJ IDEA (Community Edition is enough).