Onde this é o elemento pai; mensagem é a mensagem a ser apresentada, título é o título do dialog, tipoDeMensagem é um valor inteiro que especifica o tipo de mensagem e está disponível em constantes da classe JOptionPane e ícone é um objeto do tipo Icon.
T
thingol
Se você precisa personalizar MUITAS coisas é melhor criar uma classe (derivada de JDialog) que faça as coisas exatamente do jeito que você quer.
O máximo que dá para personalizar em ShowMessageDialog:
showMessageDialog(Component parentComponent, Object message, String title, int messageType, Icon icon)
o título (title)
o ícone grande (icon)
Para personalizar o ícone menor você precisaria de uma classe derivada de JDialog.