我在我的類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