如何将我的数据从我的 JFrame 输出到 JPanel
How can I output my data to JPanel from my JFrame
我有一个名为 MainGUI
的 JFrame
。在 MainGUI
里面我传递了三个 LinkedList ll1, ll2, ll3.
这些 LinkedList 充满了数据,我正试图在屏幕上将其中一个打印到我的 JPanel
中。我习惯于只做一个 for 循环并使用 System.out.println
将内容打印到屏幕上。
所以现在我 MainGUI
拥有三个按钮。
New Tasks
In Progress Tasks
Completed Tasks
每个按钮都有不同的LinkedList ll1、ll2、ll3等
我希望能够单击该按钮并在我创建的位于按钮下方的 JPanel
中列出下面的数据元素。
非常感谢任何帮助。
由于您没有提供任何代码,我假设您无法理解 LinkedList
如何在具有 GUI 的程序中进行交互。
首先,在使用按钮时,您总是需要通过添加 ActionListener
来指示它们在单击时执行 某事 ,如 [=23= 中所述].
其次,如果您想将列表数据添加到 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
显示后添加更多内容,它不会自行进行视觉更新,您将始终需要再次单击该按钮或进一步查看 Listeners。
您可以尝试将 JTextArea
或任何适合您要显示的内容的 JComponent 添加到要从中显示数据的 JPanel。使用它的方法将链表中的数据写入该 JComponent,例如append()
如果您使用 JTextArea
.
我有一个名为 MainGUI
的 JFrame
。在 MainGUI
里面我传递了三个 LinkedList ll1, ll2, ll3.
这些 LinkedList 充满了数据,我正试图在屏幕上将其中一个打印到我的 JPanel
中。我习惯于只做一个 for 循环并使用 System.out.println
将内容打印到屏幕上。
所以现在我 MainGUI
拥有三个按钮。
New Tasks
In Progress Tasks
Completed Tasks
每个按钮都有不同的LinkedList ll1、ll2、ll3等
我希望能够单击该按钮并在我创建的位于按钮下方的 JPanel
中列出下面的数据元素。
非常感谢任何帮助。
由于您没有提供任何代码,我假设您无法理解 LinkedList
如何在具有 GUI 的程序中进行交互。
首先,在使用按钮时,您总是需要通过添加 ActionListener
来指示它们在单击时执行 某事 ,如 [=23= 中所述].
其次,如果您想将列表数据添加到 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
显示后添加更多内容,它不会自行进行视觉更新,您将始终需要再次单击该按钮或进一步查看 Listeners。
您可以尝试将 JTextArea
或任何适合您要显示的内容的 JComponent 添加到要从中显示数据的 JPanel。使用它的方法将链表中的数据写入该 JComponent,例如append()
如果您使用 JTextArea
.