com.ibm.as400.vaccess.UserListPropertiesPane Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jt400 Show documentation
Show all versions of jt400 Show documentation
The Open Source version of the IBM Toolbox for Java
The newest version!
///////////////////////////////////////////////////////////////////////////////
//
// JTOpen (IBM Toolbox for Java - OSS version)
//
// Filename: UserListPropertiesPane.java
//
// The source code contained herein is licensed under the IBM Public License
// Version 1.0, which has been approved by the Open Source Initiative.
// Copyright (C) 1997-2000 International Business Machines Corporation and
// others. All rights reserved.
//
///////////////////////////////////////////////////////////////////////////////
package com.ibm.as400.vaccess;
import com.ibm.as400.access.UserList;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import javax.swing.JTabbedPane;
import javax.swing.SwingConstants;
import javax.swing.border.EmptyBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.Component;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
/**
The UserListPropertiesPane class represents the properties pane
for a user list.
**/
class UserListPropertiesPane
implements VPropertiesPane
{
private static final String copyright = "Copyright (C) 1997-2000 International Business Machines Corporation and others.";
// MRI.
private static final String generalTabText_ = ResourceLoader.getText ("TAB_GENERAL");
private static final String groupInfoPrompt_ = ResourceLoader.getText ("USER_LIST_GROUPINFO_PROMPT") + ": ";
private static final String userInfoPrompt_ = ResourceLoader.getText ("USER_LIST_USERINFO_PROMPT") + ": ";
// Private data.
private VUserList object_;
private JComboBox groupInfo_;
private JComboBox userInfo_;
// Event support.
ChangeEventSupport changeEventSupport_ = new ChangeEventSupport (this); // Private.
ErrorEventSupport errorEventSupport_ = new ErrorEventSupport (this); // Private.
VObjectEventSupport objectEventSupport_ = new VObjectEventSupport (this); // Private.
WorkingEventSupport workingEventSupport_ = new WorkingEventSupport (this); // Private.
/**
Constructs a UserListPropertyPane object.
@param object The object.
* @param list
**/
public UserListPropertiesPane (VUserList object, UserList list) //@A1C
{
object_ = object;
}
/**
Adds a listener to be notified when the user makes a change.
@param listener The listener.
**/
public void addChangeListener (ChangeListener listener)
{
changeEventSupport_.addChangeListener (listener);
}
/**
Adds a listener to be notified when an error occurs.
@param listener The listener.
**/
public void addErrorListener (ErrorListener listener)
{
errorEventSupport_.addErrorListener (listener);
}
/**
Adds a listener to be notified when a VObject is changed,
created, or deleted.
@param listener The listener.
**/
public void addVObjectListener (VObjectListener listener)
{
objectEventSupport_.addVObjectListener (listener);
}
/**
Adds a listener to be notified when work in a different thread
starts and stops.
@param listener The listener.
**/
public void addWorkingListener (WorkingListener listener)
{
workingEventSupport_.addWorkingListener (listener);
}
/**
Applies the changes made by the user.
@exception Exception If an error occurs.
**/
public void applyChanges ()
throws Exception
{
object_.setUserInfo (userInfo_.getSelectedItem ().toString ());
object_.setGroupInfo (groupInfo_.getSelectedItem ().toString ());
object_.load ();
}
/**
* Returns the graphical user interface component.
*
* @return The component.
**/
public Component getComponent() {
// Initialize the general tab.
JPanel generalTab = new JPanel();
GridBagLayout layout = new GridBagLayout();
GridBagConstraints constraints;
generalTab.setLayout(layout);
generalTab.setBorder(new EmptyBorder(10, 10, 10, 10));
int row = 0;
// Initialize an item listener.
ItemListener itemListener = new ItemListener() {
public void itemStateChanged(ItemEvent event) {
changeEventSupport_.fireStateChanged();
}
};
// Initialize a key listener.
KeyListener keyListener = new KeyAdapter() {
public void keyTyped(KeyEvent event) {
changeEventSupport_.fireStateChanged();
}
};
// User list information.
VUtilities.constrain(new JLabel(object_.getText(),
object_.getIcon(32, false), SwingConstants.LEFT), generalTab, layout, 0,
row++, 2, 1);
VUtilities.constrain(new JSeparator(), generalTab, layout, 0, row++, 2, 1);
// User info prompt.
VUtilities.constrain(new JLabel(userInfoPrompt_), generalTab, layout, 0,
row, 1, 1);
userInfo_ = new JComboBox();
userInfo_.setEditable(false);
userInfo_.addItem(UserList.ALL);
userInfo_.addItem(UserList.USER);
userInfo_.addItem(UserList.GROUP);
userInfo_.addItem(UserList.MEMBER);
userInfo_.setSelectedItem(object_.getUserInfo());
userInfo_.addItemListener(itemListener);
VUtilities.constrain(userInfo_, generalTab, layout, 1, row++, 1, 1);
// Group info prompt.
VUtilities.constrain(new JLabel(groupInfoPrompt_), generalTab, layout, 0,
row, 1, 1);
groupInfo_ = new JComboBox();
groupInfo_.setEditable(true);
groupInfo_.addItem(UserList.NONE);
groupInfo_.addItem(UserList.NOGROUP);
groupInfo_.setSelectedItem(object_.getGroupInfo());
groupInfo_.addItemListener(itemListener);
groupInfo_.getEditor().getEditorComponent().addKeyListener(keyListener); // This
// does
// not
// really
// work!
VUtilities.constrain(groupInfo_, generalTab, layout, 1, row++, 1, 1);
// Build the pane.
JTabbedPane pane = new JTabbedPane();
pane.addTab(generalTabText_, null, generalTab);
pane.setSelectedIndex(0);
return pane;
}
/**
Removes a change listener.
@param listener The listener.
**/
public void removeChangeListener (ChangeListener listener)
{
changeEventSupport_.removeChangeListener (listener);
}
/**
Removes an error listener.
@param listener The listener.
**/
public void removeErrorListener (ErrorListener listener)
{
errorEventSupport_.removeErrorListener (listener);
}
/**
Removes a VObjectListener.
@param listener The listener.
**/
public void removeVObjectListener (VObjectListener listener)
{
objectEventSupport_.removeVObjectListener (listener);
}
/**
Removes a working listener.
@param listener The listener.
**/
public void removeWorkingListener (WorkingListener listener)
{
workingEventSupport_.removeWorkingListener (listener);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy