如何将一个 JTextArea 与另一个 JTextArea 并排放置?
How do I put a JTextArea along side another JTextArea?
我正在尝试在 GUI 中将一个 JTextArea
放在另一个 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 window。也许这很明显,任何帮助都适用
您可以使用布局。有多种实现,可以先看看here.
水平方向的 FlowLayout 应该可以做到。
Swing 组件只能有一个父级:
JScrollPane scrollPane = new JScrollPane(panel);
这个我基本一样:
JScrollPane scrollPane = new JScrollPane();
scrollPane.setViewportView(panel);
然后您将相同的 panel
添加到您的 JFrame
:
this.add(panel);
从 JScrollPane
中删除它,然后将空的 JScrollPane
添加到 JFrame
:
add(scrollPane);
因此,删除此行应该会使您的程序正常运行:
this.add(panel);
我正在尝试在 GUI 中将一个 JTextArea
放在另一个 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 window。也许这很明显,任何帮助都适用
您可以使用布局。有多种实现,可以先看看here.
水平方向的 FlowLayout 应该可以做到。
Swing 组件只能有一个父级:
JScrollPane scrollPane = new JScrollPane(panel);
这个我基本一样:
JScrollPane scrollPane = new JScrollPane();
scrollPane.setViewportView(panel);
然后您将相同的 panel
添加到您的 JFrame
:
this.add(panel);
从 JScrollPane
中删除它,然后将空的 JScrollPane
添加到 JFrame
:
add(scrollPane);
因此,删除此行应该会使您的程序正常运行:
this.add(panel);