gpt4 book ai didi

java - 如何在 JOptionPane 中打印数组?

转载 作者:行者123 更新时间:2023-12-01 06:36:10 36 4
gpt4 key购买 nike

例如,我有一个 int 类型、大小为 3 的数组,它有元素 1、2、3 当我尝试使用循环在 JOptionPane 中打印它时,它会生成三个不同的 Pane 。

当我尝试时:

JOptionPane.showMessageDialog( null, array );

它给出了垃圾值。

我到处寻找,但没有找到解决办法。如何在选项 Pane 中显示数组?

最佳答案

// Wrap the list in a JScrollPane if 'size matters'.
JOptionPane.showMessageDialog(null, new JList(array));

EG

Using a JList

import javax.swing.*;

public class ArrayDisplay {

public static void main(String[] args) {
final String[] array = {
"JList",
"JTable for 2D array",
"HTML in JLabel",
"Delimited String in JLabel"
};
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JOptionPane.showMessageDialog(null, new JList(array));
}
});
}
}

(关于数组toString())

It gives garbage values.

晦涩难懂,是的 - 垃圾,不。 AFAIU 它是对内存中数组的引用。

..I have an array of type int

请注意,JList 数组构造函数需要对象,因此它需要 Integer 而不是 int。要从 int[] 转换为 Integer[],请执行以下操作:

import javax.swing.*;

public class ArrayDisplay {

public static void main(String[] args) {
int[] arrayPrimitive = {1,2,3};
final Integer[] array = new Integer[arrayPrimitive.length];
for (int ii=0; ii<arrayPrimitive.length; ii++) {
array[ii] = arrayPrimitive[ii];
}
SwingUtilities.invokeLater(new Runnable(){
@Override
public void run() {
JOptionPane.showMessageDialog( null, new JList(array) );
}
});
}
}

关于java - 如何在 JOptionPane 中打印数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10869374/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com