我在我的类Table.java
中创建了一个名为create()
的方法,该方法创建了一个JTable。添加一行并从其他类中修改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(...)'的范围内存在(可达),所以你需要改编该代码。然后,不要告诉我谷歌不能告诉你如何[在表中添加一行](http://stackoverflow.com/q/3549206/4391450)...或[更改JFrame的标题] (http://stackoverflow.com/q/5487615/4391450)...这花了我15秒都为 – AxelH
我知道如何做到这一点,但我只想编辑他们从其他类。 – Laiteux
什么是问题,你知道什么是方法?实例变量?在这里查找代码,您应该能够简单地创建一个方法来在此之前更新特定的实例init。 – AxelH