JAVA跨类引用问题
我想用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
}
[解决办法]
也不说什么问题,让人一行一行读吗?
[解决办法]
integer中的I大写
[解决办法]
for(int i=0;i <=name;i++)
ran+=integer 这些都是什么?
[解决办法]
class random extends Frame1 { //for循环报错,integer.toString点不出来
Random rand=new Random();
String ran= " ";
for(int i=0;i <=name;i++)
ran+=integer
}
==========
for 不在方法中
不报错才怪了