我将一些信息存储在JPanel中的ArrayList中。我想从JFrame访问此信息,以便我可以打印ArrayList
的内容。
我该怎么做?
这是我到目前为止所尝试的:
package projektarbete;
import java.awt.*;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.event.KeyEvent;
import java.util.ArrayList;
public class Spelet extends javax.swing.JPanel {
ArrayList<String> Resultat = new ArrayList<>();
.....
if(gameOver == true || vinst == true){
btnTillbakaTillMeny.setVisible(true);
int klick = antalKlick;
String namn = txfNamn.getText();
//Integer.toString(klick);
String klickString = klick+"";
String score = namn+"\t"+klickString;
Resultat.add(score);
那是JPanel,信息存储在名为Restultat的ArrayList中。
这就是我尝试从JFrame中检索信息的方式:
package projektarbete;
import javax.swing.JFrame;
public class Instruktioner extends javax.swing.JFrame {
//private final Meny Meny = new projektarbete.Meny();
private static void close() {
// throw new UnsupportedOperationException("Not supported yet.");
}
public Instruktioner() {
initComponents();
Spelet Resultat = new Spelet();
jTextArea1.setText(Resultat);
}
问题在于NetBeans在jTextArea1.setText(Resultat);
有什么想法吗?
答案 0 :(得分:1)
您不能将Resultat对象作为参数添加到setText(),因为该方法不接受该类型的参数。如果查看方法的javadoc,您将看到它所采用的类型(方法可能有多个'签名',每个签名采用不同类型的组合)。
我认为你想要做的是拥有一个类,然后是一个保存程序数据的对象。它将具有设置和获取数据以及计算需要计算的事物的必要方法。然后,任何要向用户呈现信息的对象(面板,框架等)都需要引用包含数据的类,并且可以调用方法来获取所需的内容。
这是“模型 - 视图 - 控制器”背后的基本思想 - “关注点分离”,其中处理数据的逻辑与用于显示数据的逻辑分开。它有助于您的常见情况需要更改演示文稿,但数据处理本身就可以。
答案 1 :(得分:1)
setText()正在等待一个字符串,但你给它一个ArrayList