📄 administrativeloginpanel.java
字号:
/* * ==================================================================== * The Vovida Software License, Version 1.0 * * Copyright (c) 2000 Vovida Networks, Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The names "VOCAL", "Vovida Open Communication Application Library", * and "Vovida Open Communication Application Library (VOCAL)" must * not be used to endorse or promote products derived from this * software without prior written permission. For written * permission, please contact vocal@vovida.org. * * 4. Products derived from this software may not be called "VOCAL", nor * may "VOCAL" appear in their name, without prior written * permission of Vovida Networks, Inc. * * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL VOVIDA * NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES * IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH * DAMAGE. * * ==================================================================== * * This software consists of voluntary contributions made by Vovida * Networks, Inc. and many individuals on behalf of Vovida Networks, * Inc. For more information on Vovida Networks, Inc., please see * <http://www.vovida.org/>. * */package vocal.ui;import vocal.userEditor.Editor;import vocal.comm.VPPTransactionWrapper;import vocal.pw.AccessLevels;import javax.swing.*;import javax.swing.border.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.awt.BorderLayout;import java.awt.Dimension;import java.awt.Container;public class AdministrativeLoginPanel extends LoginPanel{ private JRadioButton adminAccess; private JRadioButton techAccess; private JDialog adminDialog; private ConfigureServers techDialog; private Editor editor = null; public AdministrativeLoginPanel(boolean isStandAlone, VPPTransactionWrapper con, JRootPane root) { super(isStandAlone, con, root); adminDialog = new JDialog((JFrame) this.getTopLevelAncestor(), "User Configuration", true); adminAccess = new JRadioButton("Administrator"); techAccess = new JRadioButton("Technician"); ButtonGroup group = new ButtonGroup(); group.add(adminAccess); group.add(techAccess); adminAccess.setSelected(true); JPanel temp = new JPanel(); temp.setLayout(new BoxLayout(temp, BoxLayout.X_AXIS)); temp.add(Box.createHorizontalStrut(15)); temp.add(techAccess); temp.add(Box.createHorizontalGlue()); add(temp, 0); temp = new JPanel(); temp.setLayout(new BoxLayout(temp, BoxLayout.X_AXIS)); temp.add(Box.createHorizontalStrut(15)); temp.add(adminAccess); temp.add(Box.createHorizontalGlue()); add(temp, 0); temp = new JPanel(); temp.setLayout(new BoxLayout(temp, BoxLayout.X_AXIS)); temp.add(new JLabel("Access level: ")); temp.add(Box.createHorizontalGlue()); add(temp, 0); } protected void addActionListeners() { super.addActionListeners(); } protected void doLogin() { if (adminAccess.isSelected()) { if (editor == null) { editor = new Editor(connect); // The user editor goes in the center panel of a border layout JPanel temp = new JPanel(); temp.setLayout(new BorderLayout()); temp.add(editor, BorderLayout.CENTER); // add another panel at the bottom which has the back button JPanel temp2 = new JPanel(); temp2.setLayout(new BoxLayout(temp2, BoxLayout.X_AXIS)); JButton back = new JButton("Back"); back.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { adminDialog.setVisible(false); } }); temp2.add(back); temp2.add(Box.createHorizontalGlue()); temp2.setBorder(new EmptyBorder(5, 5, 5, 5)); temp.add(temp2, BorderLayout.NORTH); adminDialog.getContentPane().add(temp); adminDialog.pack(); adminDialog.setSize(700, 500); temp2 = new JPanel(); temp2.setLayout(new BoxLayout(temp2, BoxLayout.X_AXIS)); temp2.setBorder(new EmptyBorder(2, 4, 2, 4)); temp2.add(vocal.util.Logger.getLogLabel()); temp.add(temp2, BorderLayout.SOUTH); } Container parent = AdministrativeLoginPanel.this.getTopLevelAncestor(); editor.init(); parent.setVisible(false); editor.loadUserNames(); adminDialog.setVisible(true); // modal parent.setVisible(true); if (JFrame.class.isInstance(parent)) { ((JFrame) parent).toFront(); ((JFrame) parent).setState(JFrame.NORMAL); } } else if (techAccess.isSelected()) { if (techDialog == null) { techDialog = new ConfigureServers(this); techDialog.setModal(true); } Container parent = AdministrativeLoginPanel.this.getTopLevelAncestor(); parent.setVisible(false); techDialog.setVisible(true); parent.setVisible(true); if (JFrame.class.isInstance(parent)) { ((JFrame) parent).toFront(); ((JFrame) parent).setState(JFrame.NORMAL); } } } protected int getAccessLevel() { if (techAccess.isSelected()) { return AccessLevels.TECHNICIAN; } return AccessLevels.ADMINISTRATOR; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -