Самый простой способ сделать что-то подобное - использовать JButtons и сделать их похожими на JLabels с помощью этого синтаксического форматирования.
jButton.setBorder( BorderFactory.createEmptyBorder( 2, 2, 2, 2 ) );
jButton.setBorderPainted( false );
jButton.setContentAreaFilled( false );
jButton.setFocusPainted( false );
jButton.setHorizontalAlignment( SwingConstants.LEFT );
Затем вам нужно добавить ActionLister и ActionCommand. Например
jButton.addActionListener( this );
jButton.setActionCommand( "label1" );
Затем просто обработайте actionListners, чтобы сделать то, что вы хотели для каждого ярлыка.
public void actionPerformed( ActionEvent arg0 )
{
String command = arg0.getActionCommand();
if( command.equalsIgnoreCase( "label1" ) )
{
//label1 code
}
}
Как упомянуто ниже, это также имеет дополнительное преимущество поддержки действий клавиатуры и мыши.