/**
* Copyright 2010 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jbpm.examples.checklist.impl;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class CreateItemDialog extends JDialog {
private static final long serialVersionUID = 510l;
private String name;
private String actors;
private String groups;
private JTextField nameTextField;
private JTextField actorsTextField;
private JTextField groupsTextField;
public CreateItemDialog(JFrame owner, String actorId) {
super(owner);
setSize(new Dimension(300, 160));
setTitle("Create New Item");
setModal(true);
initializeComponent(actorId);
}
private void initializeComponent(String actorId) {
JPanel panel = new JPanel();
panel.setLayout(new GridBagLayout());
getRootPane().setLayout(new BorderLayout());
getRootPane().add(panel, BorderLayout.CENTER);
JLabel nameLabel = new JLabel("Name:");
GridBagConstraints c = new GridBagConstraints();
c.insets = new Insets(5, 5, 5, 5);
c.anchor = GridBagConstraints.WEST;
panel.add(nameLabel, c);
nameTextField = new JTextField("Add name here ...");
nameTextField.setPreferredSize(new Dimension(80, 20));
nameTextField.setSize(new Dimension(80, 20));
c = new GridBagConstraints();
c.fill = GridBagConstraints.HORIZONTAL;
c.weightx = 1;
c.insets = new Insets(5, 5, 5, 5);
panel.add(nameTextField, c);
JLabel actorsLabel = new JLabel("Actor(s):");
c = new GridBagConstraints();
c.gridy = 1;
c.insets = new Insets(5, 5, 5, 5);
c.anchor = GridBagConstraints.WEST;
panel.add(actorsLabel, c);
actorsTextField = new JTextField(actorId);
actorsTextField.setPreferredSize(new Dimension(80, 20));
actorsTextField.setSize(new Dimension(80, 20));
c = new GridBagConstraints();
c.gridy = 1;
c.fill = GridBagConstraints.HORIZONTAL;
c.weightx = 1;
c.insets = new Insets(5, 5, 5, 5);
panel.add(actorsTextField, c);
JLabel groupsLabel = new JLabel("Group(s):");
c = new GridBagConstraints();
c.gridy = 2;
c.insets = new Insets(5, 5, 5, 5);
c.anchor = GridBagConstraints.WEST;
panel.add(groupsLabel, c);
groupsTextField = new JTextField();
groupsTextField.setPreferredSize(new Dimension(80, 20));
groupsTextField.setSize(new Dimension(80, 20));
c = new GridBagConstraints();
c.gridy = 2;
c.fill = GridBagConstraints.HORIZONTAL;
c.weightx = 1;
c.insets = new Insets(5, 5, 5, 5);
panel.add(groupsTextField, c);
JButton createItemButton = new JButton("OK");
createItemButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
name = nameTextField.getText();
actors = actorsTextField.getText();
groups = groupsTextField.getText();
setVisible(false);
}
});
c = new GridBagConstraints();
c.gridy = 3;
c.insets = new Insets(5, 5, 5, 5);
c.anchor = GridBagConstraints.WEST;
panel.add(createItemButton, c);
panel.doLayout();
}
public String getItemName() {
return name;
}
public String getActors() {
return actors;
}
public String getGroups() {
return groups;
}
}