I am making a table where I want to make the first column with a higher font size.
For example, in column 0, I want the font size to be 30, and in columns 1-3, the font size is 13.
Here is my code
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.*; public class kanji_list extends JFrame { kanji_list(){ JTable table = new JTable(); JScrollPane scroll = new JScrollPane(); Image icon = Toolkit.getDefaultToolkit().getImage("JLPT.jpg"); ImageIcon ima = new ImageIcon("JLPT.jpg"); DefaultTableModel model = new DefaultTableModel(get_data(), get_header()); table = new JTable(model){ public boolean isCellEditable(int rowIndex, int vColIndex){ return false; } }; JTableHeader th = table.getTableHeader(); TableColumnModel tcm = th.getColumnModel(); TableColumn column = null; table.setFont(new Font("Microsoft JhengHei", Font.BOLD, 13)); for (int i = 0; i < 4; i++) { column = table.getColumnModel().getColumn(i); DefaultTableCellRenderer tcr = new DefaultTableCellRenderer(); tcr.setHorizontalAlignment(SwingConstants.CENTER); column.setCellRenderer(tcr); if (i==0) { column.setPreferredWidth(50); } else{ if(i==1){ column.setPreferredWidth(175); } else{ if(i==2){ column.setPreferredWidth(200); } else{ column.setPreferredWidth(875); } } } } table.setRowHeight(table.getRowHeight()+30); table.setModel(model); scroll.add(table); this.add(scroll); this.setTitle("Katakana"); this.setSize(1350, 700); this.setIconImage(icon); this.setVisible(true); this.setLocationRelativeTo(null); scroll.setViewportView(table); } Object [][]get_data(){ Object data[][] = new Object[][]{ {"\u4e00", "Uno, 1", "ICHI, ITSU", "hito-, hitotsu"}, {"\u4e8c", "Dos, 2", "NI, JI", "futa, futatsu, futatabi"}, {"\u4e09", "Tres, 3", "SAN, JOU", "mi, mitsu, mittsu"}, {"\u99c5", "EstaciΓ³n", "EKI", ""} }; return data; } String []get_header(){ String header [] = new String[]{"KANJI", "SIGNIFICADO", "LECTURA ON", "LECTURA KUN"}; return header; } }
This is a Japanese language learning system, and Unicode kanji in the 1st column are not visible at all with my font size 13, but if I increase the size of the table, all the other columns will become larger and it will not look good.