Wysrodkowanie komórek w JTable

0

Witam!
Mam taki problem - jak można wyśrodkować tekst w każdej komórce JTabel??Z gory dzieki ;-)

0
import java.awt.Component;
import java.awt.Color;
import java.awt.BorderLayout;
import javax.swing.JComponent;
import javax.swing.JTable;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JLabel;
import javax.swing.table.TableCellRenderer;
import javax.swing.table.DefaultTableModel;


class CenterRenderer implements TableCellRenderer {

	public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {

			if(value instanceof JLabel) {
				JLabel lab = (JLabel)value;
				lab.setHorizontalAlignment(JLabel.CENTER);
				return lab;
			} else if(value instanceof Component) {
				return (Component)value;
			}
			return new JLabel(String.valueOf(value),JLabel.CENTER);
	}
}

public class Main extends JFrame {

	public Main() {
		super("Table test");
		this.setSize(400,300);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.getContentPane().setLayout(new BorderLayout());

		String[] columnNames = {"A","B","C"};
		String[][] data = new String[5][3];

		for(int i=0; i<data.length; i++) {
			for(int j=0; j<data[i].length; j++) {
				data[i][j] = new String("x");
			}
		}

		JTable table = new JTable(new DefaultTableModel(data, columnNames));

		for(int i=0; i<columnNames.length; i++)
			table.getColumnModel().getColumn(i).setCellRenderer(new CenterRenderer());

		this.getContentPane().add(BorderLayout.CENTER, new JScrollPane(table));

		this.setVisible(true);
	}

	public static void main(String args[]) {
		new Main();
	}
}
0

Dzieki wielkie!:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1