【发布时间】:2017-04-13 08:53:38
【问题描述】:
我的班级Table.java 中有一个名为create() 的方法,它创建了一个JTable。
但我想知道如何添加一行,以及如何修改其他类的标题(使用Table.addRow() 和Table.setTitle() 之类的方法),因为我在 Google 上找不到它,因为喜欢30分钟,我不知道怎么做,因为我没有用Java做实验,把我当作初学者。
这是我的Table.java 类和我的create() 方法:
package fr.laiteux.test.gui;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;
public class Table{
public static void create(String name, double version, String author, int largeur, int hauteur){
JFrame frame = new JFrame(String.format(name + " " + version + " by " + author));;
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(largeur, hauteur);
Container container = frame.getContentPane();
DefaultTableModel model = new DefaultTableModel(new Object[]{"Username", "Email", "Name", "Birthday", "Phone"}, 0);
JTable table = new JTable(model);
table.setVisible(true);
JScrollPane scrollPane = new JScrollPane(table);
table.setFillsViewportHeight(true);
DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
centerRenderer.setHorizontalAlignment(SwingConstants.CENTER);
table.getColumnModel().getColumn(1 - 1).setCellRenderer(centerRenderer);
table.getColumnModel().getColumn(2 - 1).setCellRenderer(centerRenderer);
table.getColumnModel().getColumn(3 - 1).setCellRenderer(centerRenderer);
table.getColumnModel().getColumn(4 - 1).setCellRenderer(centerRenderer);
table.getColumnModel().getColumn(5 - 1).setCellRenderer(centerRenderer);
TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(table.getModel());
table.setRowSorter(sorter);
container.add(scrollPane);
frame.setVisible(true);
}
}
【问题讨论】:
-
我在这里看到了一些问题,您想更新
frame标题并在table中添加一行,但由于这些仅在静态方法create(...)的范围内存在(可访问) ,您将需要调整该代码。然后,不要告诉我 Google 无法告诉你如何使用 add a row in a table... 或 change the title of a JFrame ... 这两个都花了我 15 秒 -
我知道该怎么做,但我只想从其他班级编辑它们。
-
有什么问题,你知道什么是方法吗?实例变量?在这里查看代码,您应该能够在此之前简单地创建一个方法来更新特定实例 init。
-
不,我不知道该怎么做,抱歉,这就是我寻求帮助的原因。 “我不知道该怎么做,因为我没有在 Java 中进行过实验,请将我视为初学者。”