gpt4 book ai didi

java - 如何从 JFrame 将数据输出到 JPanel

转载 作者:行者123 更新时间:2023-12-01 18:14:43 25 4
gpt4 key购买 nike

我有一个名为 MainGUIJFrame。在 MainGUI 内部,我传递了三个 LinkedList ll1、ll2、ll3。

这些 LinkedList 充满了数据,我试图将屏幕上的其中一个打印到我的 JPanel 中。我习惯于只执行 for 循环并使用 System.out.println 将内容打印到屏幕上。

现在我有 MainGUI ,其中包含三个按钮。

新任务 正在进行的任务 已完成的任务

每个按钮都有不同的 LinkedList ll1、ll2、ll3 等
我希望能够单击该按钮,并在我创建的位于按钮下方的 JPanel 中列出下面列出的数据元素。

非常感谢任何帮助。

最佳答案

由于您没有提供代码,我假设您无法理解 LinkedList 如何在具有 GUI 的程序中进行交互。

首先,使用按钮时,您始终需要通过添加 ActionListener 来指示它们在单击时执行某事,如 this answer 中所述。 .
其次,如果您想将列表数据添加到JPanel,有几种方法可以实现。一个JList,或者如果您希望用户能够复制和粘贴数据(我发现它非常方便),一个JTextArea,...只需确保调用 setEditable(false) 即可阻止用户摆弄您提供的数据。考虑一个 JTextArea,如果 ll1 包含字符串,情况如下:

在我们的 JPanel 包含 JTextArea 的地方添加:

JTextArea txtArea = new JTextArea();
txtArea.setEditable(false);
panel.add(txtArea);

现在,我们命令按钮在单击时执行某些操作:

btn.addActionListener(new ActionListener() { 
public void actionPerformed(ActionEvent e) {
txtArea.setText(null); //clear out old text
for(String str: ll1) {
txtArea.append(str+"\n");
}
panel.revalidate(); //repaint JPanel
}
});

这样,您可以根据需要多次单击该按钮。请注意,如果在显示后向 ll1 添加更多内容,它本身不会在视觉上更新,您始终需要再次单击该按钮或进一步查看监听器。

关于java - 如何从 JFrame 将数据输出到 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30384062/

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