I have a method named create()
in my class Table.java
who create a a JTable.
But I would like to know how to add it a row, and how to modify the title from an other class (with a method like Table.addRow()
and Table.setTitle()
) because I don't find it on Google since like 30 minutes and I don't know how to do it because I'm not experimented in Java, consider me as a beginner.
Here is my Table.java
class with my create()
method :
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);
}
}