0

私は現在アプレットに取り組んでおり、それを仕上げるのに少し問題があります。私のコードは問題なく動作しますが、JOptionDialogメッセージダイアログの最後の部分をJLabelアプレットに追加される部分に変更する必要があります。私は考えられるあらゆる方法を試しましたが、まだ不足しています。私の現在のコードは次のようになります。

import javax.swing.*;

import java.awt.event.*;
import java.awt.*;

public class Password extends JApplet implements ActionListener {

    Container PW = getContentPane();
    JLabel password = new JLabel("Enter Password(and click OK):");
     Font font1 = new Font("Times New Roman", Font.BOLD, 18); 
    JTextField input = new JTextField(7);
    JButton enter = new JButton("OK");

    public void start() {
        PW.add(password);
          password.setFont(font1);
        PW.add(input);
        PW.add(enter);
        PW.setLayout(new FlowLayout());
        enter.addActionListener(this);
    }

    public void actionPerformed(ActionEvent e) {
        String pass1 = input.getText();
        String passwords[] = {"Rosebud", "Redrum", "Jason", "Surrender",  "Dorothy"};
       for(int i=0;i<passwords.length;i++) {
           if (pass1.equalsIgnoreCase(passwords[i])) {
            JOptionPane.showMessageDialog(null, "Access Granted");
                return
        }
             else {
       JOptionPane.showMessageDialog(null, "Access Denied");
            }
        }
    }
}

助けてください!

4

1 に答える 1

0

これを試してください:

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public class Password extends JApplet implements ActionListener {

    Container PW = getContentPane();
    JLabel password = new JLabel("Enter Password(and click OK):");
    JLabel message = new JLabel();
    Font font1 = new Font("Times New Roman", Font.BOLD, 18); 
    JTextField input = new JTextField(7);
    JButton enter = new JButton("OK");

    public void start() {
        PW.add(password);
        password.setFont(font1);
        PW.add(input);
        PW.add(enter);
        PW.add(message);
        PW.setLayout(new FlowLayout());
        enter.addActionListener(this);
    }

    public void actionPerformed(ActionEvent e) {
        String pass1 = input.getText();
        String passwords[] = {"Rosebud", "Redrum", "Jason", "Surrender",  "Dorothy"};
        for(int i=0;i<passwords.length;i++) {
            if (pass1.equalsIgnoreCase(passwords[i])) {
                message.setText("Access Granted");
                            return;
            }
            else {
                message.setText("Access Denied");

            }
        }
    }
}

そのサンプル コードでは、配置が行われていないため、ボタンの横にメッセージが表示されます。必要に応じて配置を変更できます;)

于 2013-03-16T17:41:34.823 に答える