用java写八数码难题,有一个鼠标mouseclick类用来生成一个随机数组,然后在另一个窗口组件
用java写八数码难题,有一个鼠标mouseclick类用来生成一个随机数组,然后在另一个窗口组件类里点击一下随机生成就可以生成一个随机数组,但是问题是我生成的随机数组用...
用java写八数码难题,有一个鼠标mouseclick类用来生成一个随机数组,然后在另一个窗口组件类里点击一下随机生成就可以生成一个随机数组,但是问题是我生成的随机数组用set方法传不到调用类里,在窗口里显示的数组永远是初始值0,请问各路大神这是什么原因?鼠标事件类传递数组有什么特别的地方吗?
展开
1个回答
展开全部
通常我们传递值到另一个对象中时会使用两种方法: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);
}
}
结果如图:
追问
谢谢你
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询