基本上我有一個JTable
,而這個JTabel
將在一個單元格中有一個產品,然後在它下面的單元格中的成本。JTabel單個單元格文本對齊
產品名稱應該對齊到左側。 產品成本應與右側對齊。
我實際上並不關心每一行中其他單元格的對齊方式。
所以我需要設置單個單元格或單個行的對齊方式。我找到了設置表格對齊方式的方法,以及設置列對齊方式的方法,但從來沒有行/單個單元格。
SSCCE:
public class Main extends JFrame{
public static void main(String args[]){
new Main();
}
public Main(){
super("Demo");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setExtendedState(MAXIMIZED_BOTH);
setVisible(true);
setLayout(new BorderLayout());
TableModel dataModel = new AbstractTableModel() {
Object rows[] = new Object[50];
public int getColumnCount(){return 1;}
public int getRowCount(){return rows.length;}
public Object getValueAt(int row, int col){
return rows[row];
}
public boolean isCellEditable(int row, int col){
return false;
}
public void setValueAt(Object value, int row, int col) {
rows[row] = value;
fireTableCellUpdated(row,0);
}
};
JTable receipt = new JTable(dataModel);
receipt.setBorder(BorderFactory.createEtchedBorder());
receipt.setShowGrid(false);
add(receipt,BorderLayout.CENTER);
for(int i = 0; i < 10; i+=2){
receipt.setValueAt("ProductNameHere",i,0);
receipt.setValueAt("Cost",i+1,0);
}
validate();
repaint();
}
}
安裝定製的'TableCellRenderer',並設置對齊的'JLabel'裏面是適合你的。 – 2013-02-22 03:05:58
根據過去的單元格渲染器的對象值,爲[sscce](http://sscce.org/)更改'DefaultTableCellRenderer' – MadProgrammer 2013-02-22 03:08:25
+1的對齊方式。 – trashgod 2013-02-22 05:07:19