Пример #1
0
  public JButton add(final T key, String buttonText) {
    JButton editButton = new JButton(buttonText);
    editButton.setBackground(Color.WHITE);
    // editButton.setOpaque(true);
    editButton.setUI(new BasicButtonUI());
    editButton.setSize(BUTTON_WIDTH, BUTTON_HEIGHT);
    editButton.addActionListener(
        new ActionListener() {

          @Override
          public void actionPerformed(ActionEvent event) {
            startEditor(key, (JButton) event.getSource());
          }
        });

    ImageIcon icon =
        new ImageIcon(
            GraphEditor.class.getResource("/edu/incense/designer/images/remove-icon.png"));
    JButton removeButton = new JButton(icon);
    removeButton.setBackground(Color.WHITE);
    removeButton.setUI(new BasicButtonUI());
    removeButton.setSize(ICON_WIDTH, BUTTON_HEIGHT);
    removeButton.addActionListener(
        new ActionListener() {

          @Override
          public void actionPerformed(ActionEvent event) {
            remove(key);
          }
        });

    JPanel itemPanel = new JPanel();
    SpringLayout layout = new SpringLayout();
    itemPanel.setLayout(layout);
    itemPanel.setBackground(Color.WHITE);
    itemPanel.setBorder(new LineBorder(Color.DARK_GRAY));
    itemPanel.add(editButton);
    itemPanel.add(removeButton);
    layout.putConstraint(SpringLayout.WEST, editButton, 0, SpringLayout.WEST, itemPanel);
    layout.putConstraint(SpringLayout.EAST, editButton, 0, SpringLayout.WEST, removeButton);
    layout.putConstraint(SpringLayout.EAST, removeButton, 0, SpringLayout.EAST, itemPanel);

    if (items.isEmpty()) removeEmptyMessage();
    items.put(key, itemPanel);
    add(itemPanel);
    setSize(getPreferredSize());
    validate(); // Update container
    containerWindow.pack();
    return editButton;
  }