gpt4 book ai didi

java - 如何将一个 JTextArea 与另一个 JTextArea 并排放置?

转载 作者:行者123 更新时间:2023-12-02 09:48:40 30 4
gpt4 key购买 nike

我正在尝试将一个 JTextArea 放在 GUI 中的另一个 JTextArea 旁边

我正在为数据库编写 GUI,并希望将每列的数据放在不同的 JTextArea 中。这将使我的 GUI 看起来更好并且更容易查看数据。我已经尝试将 JTextAreas 添加到 JPanel,但这似乎不起作用。

这是我迄今为止尝试过的:

public class GUIDisplayBooks extends JFrame{

JPanel panel = new JPanel();
JTextArea textAreaIsbn = new JTextArea();
JTextArea textAreaTitle = new JTextArea();
JTextArea textAreaSurname = new JTextArea();
JTextArea textAreaForename = new JTextArea();
JTextArea textAreaCategory = new JTextArea();
JScrollPane scrollPane = new JScrollPane(panel);

GUIDisplayBooks(ArrayList<Book> books)
{
this.add(panel);
this.setSize(600,200);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

for(Book book : books){
textAreaIsbn.append(book.getIsbn() + "\n");
textAreaTitle.append(book.getTitle() + "\n");
textAreaSurname.append(book.getSurname() + "\n");
textAreaForename.append(book.getForename() + "\n");
textAreaCategory.append(book.getCategory() + "\n");
}
panel.add(textAreaIsbn);
panel.add(textAreaTitle);
panel.add(textAreaSurname);
panel.add(textAreaForename);
panel.add(textAreaCategory);
add(scrollPane);

}

}

我不断收到空白的 GUI 窗口。也许这是非常明显的事情,需要任何帮助

最佳答案

Swing 组件只能有一个父组件:

JScrollPane scrollPane = new JScrollPane(panel);

我基本上与此相同:

JScrollPane scrollPane = new JScrollPane();
scrollPane.setViewportView(panel);

然后您将相同的面板添加到您的JFrame:

this.add(panel);

这会将其从 JScrollPane 中删除,然后将空的 JScrollPane 添加到 JFrame 中:

add(scrollPane);

因此,删除这一行应该可以使您的程序正常工作:

this.add(panel);

关于java - 如何将一个 JTextArea 与另一个 JTextArea 并排放置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56479511/

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