密码验证后启动程序

2024-03-06

我需要一些帮助,我在互联网上找到了这个密码程序,它很完美,但是有一个问题。我想做的,一旦验证了密码,启动我制作的另一个程序,另一个程序我制作的是HTA(超文本应用程序),我可以做到这一点吗?这是代码:

package components;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Arrays;

/* PasswordDemo.java requires no other files. */

public class PasswordDemo extends JPanel
                      implements ActionListener {
private static String OK = "ok";
private static String HELP = "help";

private JFrame controllingFrame; //needed for dialogs
private JPasswordField passwordField;

public PasswordDemo(JFrame f) {
    //Use the default FlowLayout.
    controllingFrame = f;

    //Create everything.
    passwordField = new JPasswordField(10);
    passwordField.setActionCommand(OK);
    passwordField.addActionListener(this);

    JLabel label = new JLabel("Enter the password: ");
    label.setLabelFor(passwordField);

    JComponent buttonPane = createButtonPanel();

    //Lay out everything.
    JPanel textPane = new JPanel(new FlowLayout(FlowLayout.TRAILING));
    textPane.add(label);
    textPane.add(passwordField);

    add(textPane);
    add(buttonPane);
}

protected JComponent createButtonPanel() {
    JPanel p = new JPanel(new GridLayout(0,1));
    JButton okButton = new JButton("OK");
    JButton helpButton = new JButton("Help");

    okButton.setActionCommand(OK);
    helpButton.setActionCommand(HELP);
    okButton.addActionListener(this);
    helpButton.addActionListener(this);

    p.add(okButton);
    p.add(helpButton);

    return p;
}

public void actionPerformed(ActionEvent e) {
    String cmd = e.getActionCommand();

    if (OK.equals(cmd)) { //Process the password.
        char[] input = passwordField.getPassword();
        if (isPasswordCorrect(input)) {
            JOptionPane.showMessageDialog(controllingFrame,
                "Success! You typed the right password.");
        } else {
            JOptionPane.showMessageDialog(controllingFrame,
                "Invalid password. Try again.",
                "Error Message",
                JOptionPane.ERROR_MESSAGE);
        }

        //Zero out the possible password, for security.
        Arrays.fill(input, '0');

        passwordField.selectAll();
        resetFocus();
    } else { //The user has asked for help.
        JOptionPane.showMessageDialog(controllingFrame,
            "You can get the password by searching this example's\n"
          + "source code for the string \"correctPassword\".\n"
          + "Or look at the section How to Use Password Fields in\n"
          + "the components section of The Java Tutorial.");
    }
}

/**
 * Checks the passed-in array against the correct password.
 * After this method returns, you should invoke eraseArray
 * on the passed-in array.
 */
private static boolean isPasswordCorrect(char[] input) {
    boolean isCorrect = true;
    char[] correctPassword = { 'b', 'u', 'g', 'a', 'b', 'o', 'o' };

    if (input.length != correctPassword.length) {
        isCorrect = false;
    } else {
        isCorrect = Arrays.equals (input, correctPassword);
    }

    //Zero out the password.
    Arrays.fill(correctPassword,'0');

    return isCorrect;
}

//Must be called from the event dispatch thread.
protected void resetFocus() {
    passwordField.requestFocusInWindow();
}

/**
 * Create the GUI and show it.  For thread safety,
 * this method should be invoked from the
 * event dispatch thread.
 */
private static void createAndShowGUI() {
    //Create and set up the window.
    JFrame frame = new JFrame("PasswordDemo");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //Create and set up the content pane.
    final PasswordDemo newContentPane = new PasswordDemo(frame);
    newContentPane.setOpaque(true); //content panes must be opaque
    frame.setContentPane(newContentPane);

    //Make sure the focus goes to the right component
    //whenever the frame is initially given the focus.
    frame.addWindowListener(new WindowAdapter() {
        public void windowActivated(WindowEvent e) {
            newContentPane.resetFocus();
        }
    });

    //Display the window.
    frame.pack();
    frame.setVisible(true);
}

public static void main(String[] args) {
    //Schedule a job for the event dispatch thread:
    //creating and showing this application's GUI.
    SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            //Turn off metal's use of bold fonts
    UIManager.put("swing.boldMetal", Boolean.FALSE);
    createAndShowGUI();
        }
    });
}
}

而不是使用JFrame对于密码应用程序,您可以使用JDialog.
如果密码正确

if (isPasswordCorrect(input)) {
         //Give call to class which creates JFrame for your application.
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

密码验证后启动程序 的相关文章

  • 带有 Android 支持库 v7 的 Maven Android 插件

    我使用 maven android plugin 构建我的 android 应用程序 它依赖于 android 支持库 v4 和 v7 由于我没有找到如何从developer android com下载整个sdk 因此我无法使用maven
  • 使用 WebDriver 单击新打开的选项卡中的链接

    有人可以在这种情况下帮助我吗 场景是 有一个网页 我仅在新选项卡中打开所有指定的链接 现在我尝试单击新打开的选项卡中的任何一个链接 在下面尝试过 但它仅单击主 第一个选项卡中的一个链接 而不是在新选项卡中 new Actions drive
  • Reactive Spring 不支持 HttpServletRequest 作为 REST 端点中的参数?

    我创建了一个 RestController 如下所示 RestController public class GreetingController RequestMapping value greetings method RequestM
  • 从 MS Access 中提取 OLE 对象(Word 文档)

    我有一个 Microsoft Access 数据库 其中包含一个包含 Microsoft Word 文档的 OLE 对象字段 我试图找到代码来检索保存在 OLE 对象中的文件 以便用户可以从我的 JavaFx 应用程序中的按钮下载它 但没有
  • 您建议使用哪种压缩(GZIP 是最流行的)servlet 过滤器?

    我正在寻找一个用于大容量网络应用程序的 GZIP servlet 过滤器 我不想使用容器特定的选项 要求 能够压缩响应负载 XML Faster 已在大批量应用的生产中得到验证 应适当设置适当内容编码 跨容器移植 可选择解压缩请求 谢谢 我
  • 如何检测图像是否像素化

    之前有人在 SO 上提出过这样的问题 在Python中检测像素化图像 https stackoverflow com questions 12942365 detecting a pixelated image in python还有关于q
  • org/codehaus/plexus/archiver/jar/JarArchiver(不支持的major.minor版本49.0)-Maven构建错误

    下午大家 我在尝试构建项目时收到上述错误 我很确定这与使用 Java 1 6 编译的 Maven 最新更新有关 而我们尝试构建的项目是 1 4 项目 在此之前的插件工作没有问题 因此我将以下内容添加到 POM xml 文件中以尝试强制使用现
  • 从休眠乐观锁定异常中恢复

    我有一个这样的方法 Transactional propagation Propagation REQUIRES NEW public void doSomeWork Entity entity dao loadEntity do some
  • 如何删除日期对象的亚秒部分

    当 SQL 数据类型为时间戳时 java util Date 存储为 2010 09 03 15 33 22 246 如何在存储记录之前将亚秒设置为零 例如 在本例中为 246 最简单的方法是这样的 long time date getTi
  • Java:如何确定文件所在的驱动器类型?

    Java 是否有一种独立于平台的方法来检测文件所在的驱动器类型 基本上我有兴趣区分 硬盘 可移动驱动器 如 USB 记忆棒 和网络共享 JNI JNA 解决方案不会有帮助 可以假设 Java 7 您可以使用 Java 执行 cmd fsut
  • 寻找局部最小值

    下面的代码正确地找到了数组的局部最大值 但未能找到局部最小值 我已经进行了网络搜索 以找到找到最小值的最佳方法 并且根据这些搜索 我认为我正在使用下面的正确方法 但是 在几天的时间里多次检查每一行之后 下面的代码中有一些我仍然没有看到的错误
  • 在 Clojure 中解压缩 zlib 流

    我有一个二进制文件 其内容由zlib compress在Python上 有没有一种简单的方法可以在Clojure中打开和解压缩它 import zlib import json with open data json zlib wb as
  • 无法在 Java/Apache HttpClient 中处理带有垂直/管道栏的 url

    例如 如果我想处理这个网址 post new HttpPost http testurl com lists lprocess action LoadList 401814 1 Java Apache 不允许我这么做 因为它说竖线 是非法的
  • IntelliJ 组织导入

    IntelliJ 是否具有类似于 Eclipse 中的组织导入功能 我拥有的是一个 Java 文件 其中多个类缺少导入 例子 package com test public class Foo public Map map public J
  • 我可以限制分布式应用程序发出的请求吗?

    我的应用程序发出 Web 服务请求 提供商处理的请求有最大速率 因此我需要限制它们 当应用程序在单个服务器上运行时 我曾经在应用程序级别执行此操作 一个对象跟踪到目前为止已发出的请求数量 并在当前请求超出允许的最大负载时等待 现在 我们正在
  • 如何在Java中对对象数组进行字段级别排序以进行等级比较?

    In Java Class StudentProgress String Name String Grade CTOR goes here main class main method StudentProgress arrayofObje
  • 如何处理 StaleElementReferenceException

    我正在为鼠标悬停工作 我想通过使用 for 循环单击每个链接来测试所有链接的工作条件 在我的程序中 迭代进行一次 而对于下一次迭代 它不起作用并显示 StaleElementReferenceException 如果需要 请修改代码 pub
  • Hadoop NoSuchMethodError apache.commons.cli

    我在用着hadoop 2 7 2我用 IntelliJ 做了一个 MapReduce 工作 在我的工作中 我正在使用apache commons cli 1 3 1我把库放在罐子里 当我在 Hadoop 集群上使用 MapReduceJob
  • JMS 中的 MessageListener 和 Consumer 有什么区别?

    我是新来的JMS 据我了解Consumers能够从队列 主题中挑选消息 那么为什么你需要一个MessageListener因为Consumers会知道他们什么时候收到消息吗 这样的实际用途是什么MessageListener 编辑 来自Me
  • 使用 Java https 上传到 Imgur v3 错误

    我目前正在尝试使用他们当前的 API v3 上传到 imgur 但是我不断收到错误 错误 javax net ssl SSLException 证书中的主机名不匹配 api imgur com imgur com OR imgur com

随机推荐

  • 为什么 KeyPairGenerator.genKeyPair() 这么慢

    我有一些 Java 代码 当我运行函数时KeyPairGenerator genKayPair 工作时间为 40 秒或更长时间 如何改变这种现状呢 如果我跑 openssl req x509 nodes days 365 newkey rs
  • 如何选择.NET版本来编译项目?

    我有VS2005 如何在特定版本的 NET 下编译我的项目 我已经安装了 1 0 2 0 3 0 和 3 5 提前Tnx 恐怕你不能 VS2005仅适用于 NET框架2 0 您需要适当版本的 Visual Studio 才能与其他版本一起使
  • Angular 4文档离线计算机[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想找到 Angular 4 文档的本地 离线版本 https angular io docs htt
  • 如何在 RxJava 中计算移动平均线

    在金融领域 我们通常需要从时间序列数据流中计算移动窗口总值 以移动平均线为例 假设我们有以下数据流 T是时间戳 V是实际值 T0 V0 T1 V1 T2 V2 T3 V3 T4 V4 T5 V5 T6 V6 T7 V7 T8 V8 T9 V
  • 如何将字符串转换为 NSDate?

    我有每当有新的远程通知时收到的字符串 我正在为我的后端使用解析 我检索到的字符串来自 createdAt 列 我试过下面的代码 var ca 2015 07 03T03 16 17 220Z var dateFormater NSDateF
  • 使用带淘汰赛的引导按钮下拉菜单

    我正在尝试使用 Bootstrap 的精美样式按钮下拉菜单 http getbootstrap com components btn dropdowns淘汰赛 不幸的是 下拉菜单是使用链接而不是
  • LISP - 小数点后的数字

    有谁知道如何在 Lisp 中指定浮点数小数点后的位数 假设我在 REPL 上打印此命令 CL USER 3 gt format t 15f float 1 7 I get 0 142857150000000 但是该数字四舍五入到小数点后第
  • 使用 7zip 检测文件是否为存档

    我想使用 SevenZipSharp 来确定文件是否是存档 我知道这是可能的 因为在资源管理器中 如果我将 zip 重命名为 bmp 7zip 仍然会将其识别为存档 edit 换句话说 我希望 7zip 告诉我文件 无论扩展名如何 是否包含
  • ASP.NET 网站的自定义登录机制

    我正在开发一个 ASP NET 网站 我需要摆脱一些自定义但简单的登录机制 我从著名的员工信息入门套件 http eisk codeplex com 这是我到目前为止所拥有的 在 ASP NET 页面上 protected void But
  • Facebook Graph Api 2.1 从用户名获取用户 ID

    我正在寻找一个可以从个人资料网址或 Facebook 用户名中提供用户 ID 的解决方案 example http facebook com username 获取此 url 的用户 ID 而且当我尝试读取朋友 我有朋友相关权限 时 我得到
  • Parse.com 关系查询问题

    我有以下表格名称 aniStudii 和 discipline 我也制作了屏幕截图 正如您所看到的 这些表之间在 mateii 列中存在关系 aniStudii 中 Anul I 列的行具有一个值 另一列具有不同的值 这些值可以在 disc
  • JavaScript 乘以 100 给出奇怪的结果[重复]

    这个问题在这里已经有答案了 I have var a 0 0532 var b a 100 b 应该返回 5 32 但它返回 5 319999999999999 我该如何解决 JSFiddle 在这里 http jsfiddle net 9
  • fseek() 函数中的零偏移量与 SEEK_CUR 有什么用?

    while fread product sizeof Product 1 file 1 product price 2 0 fseek file sizeof Product SEEK CUR fwrite product sizeof P
  • 从 package.json 脚本中调用带有参数的 javascript 函数

    javascript 文件 foo js 具有以下内容 function foo param console log foo called with params console log param module exports foo f
  • 编辑后保留PDB文件格式。

    我有 xxx pdb 文件 ATOM 1910 CB SER 128 45 806 50 621 39 840 1 00 9 36 ATOM 1913 OG SER 128 44 538 51 195 39 571 1 00 9 36 AT
  • Given import java util public class Hancock insert code here list add foo 哪两个代码片段独立插入到第 5 行 编译时不会出现警告 选择两项 A public void
  • 将 FILE * 从 Python / ctypes 传递到函数中

    我有一个库函数 用 C 编写 它通过将输出写入到来生成文本FILE 我想用 Python 2 7 x 包装它 并使用创建临时文件或管道的代码 将其传递到函数中 从文件中读取结果 并将其作为 Python 字符串返回 这是一个简化的示例来说明
  • 如何从EF扩展Entity?

    EF 创建的所有实体都是分部类 所以它是可扩展的 假设我有像 Person 这样的实体 partial class Person FirstName LastName 然后我想添加一个计算属性名称 例如 partial class Pers
  • file_get_contents() 用于短网址

    file get contents 不读取短网址数据 例子 http wp me pbZy8 1WM http bit ly d00E2C 请帮我处理这个问题 或者是否有任何 CURL 函数来处理上述链接 这通常工作得很好 如果您发现它没有
  • 密码验证后启动程序

    我需要一些帮助 我在互联网上找到了这个密码程序 它很完美 但是有一个问题 我想做的 一旦验证了密码 启动我制作的另一个程序 另一个程序我制作的是HTA 超文本应用程序 我可以做到这一点吗 这是代码 package components im