首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

JAVA跨类引用有关问题

2012-01-15 
JAVA跨类引用问题我想用JAVA写个密码生成器,用来生成复杂的密码。可是用一个类引用另一个类的时候总是出问

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 不在方法中
不报错才怪了

热点排行