我想用JAVA写个密码生成器,用来生成复杂的密码。
可是用一个类引用另一个类的时候总是出问题。
我已经定义一些全局变量了,大家帮忙看看。
package cipher;import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.*;
import java.awt.*;
import java.util.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.Rectangle;
import java.awt.Font;
import javax.swing.JTextField;
import javax.swing.JCheckBox;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.*;
import java.lang.Integer;
import java.math.*;
/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2007</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class Frame1 extends JFrame {
    JPanel contentPane;
    JLabel jLabel1 = new JLabel();
    JTextField jTextField1 = new JTextField();
    JLabel jLabel2 = new JLabel();
    JCheckBox jCheckBox1 = new JCheckBox();
    JLabel jLabel3 = new JLabel();
    JTextField jTextField2 = new JTextField();
    JButton jButton1 = new JButton();
    JButton jButton2 = new JButton();
    static String name;
    static int Mname;
    public Frame1() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }    /**
     * Component initialization.
     *
     * @throws java.lang.Exception
     */
    private void jbInit() throws Exception {
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(null);
        setSize(new Dimension(462, 399));
        setTitle("Frame Title");
        jLabel1.setFont(new java.awt.Font("宋体", Font.PLAIN, 15));
        jLabel1.setToolTipText("");
        jLabel1.setText("位数");
        jLabel1.setBounds(new Rectangle(33, 84, 97, 36));
        jTextField1.setBounds(new Rectangle(72, 91, 83, 24));
        jLabel2.setFont(new java.awt.Font("宋体", Font.PLAIN, 15));
        jLabel2.setText("是否混合排列");
        jLabel2.setBounds(new Rectangle(187, 91, 99, 27));
        jCheckBox1.setText("jCheckBox1");
        jCheckBox1.setBounds(new Rectangle(288, 90, 32, 26));
        jLabel3.setFont(new java.awt.Font("宋体", Font.PLAIN, 15));
        jLabel3.setText("计算好的密码");
        jLabel3.setBounds(new Rectangle(33, 187, 102, 32));
        jTextField2.setBounds(new Rectangle(145, 187, 114, 25));
        jButton1.setBounds(new Rectangle(45, 269, 93, 35));
        jButton1.setFont(new java.awt.Font("宋体", Font.PLAIN, 15));
        jButton1.setText("计算");
        jButton1.addActionListener(new Frame1_jButton1_actionAdapter(this));
        jButton2.setBounds(new Rectangle(218, 269, 95, 34));
        jButton2.setFont(new java.awt.Font("宋体", Font.PLAIN, 15));
        jButton2.setText("关闭");
        contentPane.add(jLabel1);
        contentPane.add(jTextField1);
        contentPane.add(jLabel2);
        contentPane.add(jCheckBox1);
        contentPane.add(jLabel3);
        contentPane.add(jTextField2);
        contentPane.add(jButton1);
        contentPane.add(jButton2);
    }    public void jButton1_actionPerformed(ActionEvent e) {
        String name=jTextField1.getText();
        if(name.length()>2 ||name.length()<1){              /*  通过检查长度判断是否为合法输入*/
            JOptionPane.showMessageDialog(this,"只能输入2位数字!","警告",JOptionPane.INFORMATION_MESSAGE);
            jTextField1.setText("");
            return;
             }else{
            JOptionPane.showMessageDialog(this,"正在计算","信息",JOptionPane.INFORMATION_MESSAGE);
        }
}
  public void Getmath(int Mname){   /* 强制类型转换*/
      Mname=Integer.parseInt(name);
      }}
class Frame1_jButton1_actionAdapter implements ActionListener {
    private Frame1 adaptee;
    Frame1_jButton1_actionAdapter(Frame1 adaptee) {
        this.adaptee = adaptee;
    }    public void actionPerformed(ActionEvent e) {
        adaptee.jButton1_actionPerformed(e);
    }
}
class random extends Frame1 {   //for循环报错,integer.toString点不出来
    Random rand=new Random();
    String ran="";
    for(int i=0;i<=name;i++)
        ran+=integer
}