用java写八数码难题,有一个鼠标mouseclick类用来生成一个随机数组,然后在另一个窗口组件

用java写八数码难题,有一个鼠标mouseclick类用来生成一个随机数组,然后在另一个窗口组件类里点击一下随机生成就可以生成一个随机数组,但是问题是我生成的随机数组用... 用java写八数码难题,有一个鼠标mouseclick类用来生成一个随机数组,然后在另一个窗口组件类里点击一下随机生成就可以生成一个随机数组,但是问题是我生成的随机数组用set方法传不到调用类里,在窗口里显示的数组永远是初始值0,请问各路大神这是什么原因?鼠标事件类传递数组有什么特别的地方吗? 展开
 我来答
balsum
推荐于2016-03-18 · TA获得超过311个赞
知道小有建树答主
回答量:188
采纳率:100%
帮助的人:184万
展开全部

通常我们传递值到另一个对象中时会使用两种方法:JavaBean的构造方法和set方法,其原理都是给对象中的某个属性赋值。例:

public class Bean {
     private int[] datas;
     //构造方法赋值
     public Bean(int[] datas) {
         this.datas = datas;
     }   
     //set方法赋值
     public void setDatas(int[] datas) {
         this.datas = datasa;
     }
}

在鼠标事件内传递数组,只需要通过上述两种方法传递即可。


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Arrays;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;

public class RandomArrayFrame extends JFrame {
    
    public static void main(String[] args) {
        new RandomArrayFrame();
    }

    public RandomArrayFrame() {
        setTitle("Hello");
        setBounds(100, 100, 500, 500);
        setVisible(true);
        JButton btn = new JButton("生成随机数组");
        getContentPane().add(btn);
        btn.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //点击事件,点击生成一个数组并将数组传递到另一个窗口中。
                int[] arr = { 1, 3, 456, 7, 8, 9 };
                new ShowRandomArrayFrame(arr).setVisible(true);
            }
        });
    }
}
class ShowRandomArrayFrame extends JFrame {
    public ShowRandomArrayFrame(int[] arr) {
        setTitle("Hello");
        setBounds(100, 100, 500, 500);
        JTextArea area = new JTextArea(Arrays.toString(arr));
        getContentPane().add(area);
    }
}

结果如图:

追问
谢谢你
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式