@SuppressWarnings({"HardCodedStringLiteral"})
  public static void main(String[] args) {
    JFrame frame = new JFrame("Portlet Test");
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    frame.setLocation(300, 300);
    frame.setSize(200, 200);

    JPanel pane = new JPanel(new FlowLayout());


    final JButton first = new JButton("North east");
    first.addActionListener(new ActionListener() {
      @Override
      @SuppressWarnings({"HardCodedStringLiteral"})
      public void actionPerformed(ActionEvent e) {
        Callout.showText(first, Callout.NORTH_EAST, "North east");
      }
    });
    pane.add(first);

    final JButton second = new JButton("North west");
    second.addActionListener(new ActionListener() {
      @Override
      @SuppressWarnings({"HardCodedStringLiteral"})
      public void actionPerformed(ActionEvent e) {
        Callout.showText(second, Callout.NORTH_WEST, "North west");
      }
    });
    pane.add(second);

    final JButton third = new JButton("South east");
    third.addActionListener(new ActionListener() {
      @Override
      @SuppressWarnings({"HardCodedStringLiteral"})
      public void actionPerformed(ActionEvent e) {
        Callout.showText(third, Callout.SOUTH_EAST, "South east");
      }
    });
    pane.add(third);

    final JButton fourth = new JButton("South west");
    fourth.addActionListener(new ActionListener() {
      @Override
      @SuppressWarnings({"HardCodedStringLiteral"})
      public void actionPerformed(ActionEvent e) {
        Callout.showText(fourth, Callout.SOUTH_WEST, "South west");
      }
    });
    pane.add(fourth);

    frame.getContentPane().setLayout(new GridBagLayout());
    frame.getContentPane().add(pane);

    frame.setVisible(true);
  }
@SuppressWarnings({"HardCodedStringLiteral"})
  public static void main(String[] args)