Java 程式在 JTable 中設定多行不同高度
要設定多行不同高度,請針對想要增大行高的不同行使用 setRowHeight() 方法。我們首先看一個建立表格的示例,所有行的行高相同 −
示例
package my;
import java.awt.Color;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class SwingDemo {
public static void main(String[] argv) throws Exception {
DefaultTableModel tableModel = new DefaultTableModel();
JTable table = new JTable(tableModel);
tableModel.addColumn("Language/ Technology");
tableModel.addColumn("Text Tutorial");
tableModel.addColumn("Video Tutorial");
tableModel.addColumn("Interview QA");
tableModel.addRow(new Object[] { "Blockchain", "Yes", "No", "Yes"});
tableModel.addRow(new Object[] { "C#", "Yes", "Yes", "Yes"});
tableModel.addRow(new Object[] { "Java", "Yes", "No", "Yes"});
tableModel.addRow(new Object[] { "NodeJS", "No", "Yes", "Yes"});
tableModel.addRow(new Object[] { "MVC", "Yes", "No", "Yes"});
tableModel.addRow(new Object[] { "ASP.NET", "Yes", "Yes", "Yes"});
tableModel.addRow(new Object[] { "F#", "Yes", "No", "Yes"});
tableModel.addRow(new Object[] { "SharePoint", "Yes", "Yes", "Yes"});
tableModel.addRow(new Object[] { "AWS", "No", "No", "Yes"});
table.setBackground(Color.orange);
table.setForeground(Color.black);
Font font = new Font("Verdana", Font.CENTER_BASELINE, 12);
table.setFont(font);
JFrame frame = new JFrame();
frame.setSize(600, 400);
frame.add(new JScrollPane(table));
frame.setVisible(true);
}
}輸出如下,顯示所有行高度相同。這是所有行的預設值 −
輸出

現在,我們來看一個設定多行不同高度的示例。在此,我們使用 setRowHeight() 方法多次,從而為不同行賦予不同高度 −
示例
package my;
import java.awt.Color;
import java.awt.Font;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class SwingDemo {
public static void main(String[] argv) throws Exception {
DefaultTableModel tableModel = new DefaultTableModel();
JTable table = new JTable(tableModel);
tableModel.addColumn("Language/ Technology");
tableModel.addColumn("Text Tutorial");
tableModel.addColumn("Video Tutorial");
tableModel.addColumn("Interview QA");
tableModel.addRow(new Object[] { "Blockchain", "Yes", "No", "Yes"});
tableModel.addRow(new Object[] { "C#", "Yes", "Yes", "Yes"});
tableModel.addRow(new Object[] { "Java", "Yes", "No", "Yes"});
tableModel.addRow(new Object[] { "NodeJS", "No", "Yes", "Yes"});
tableModel.addRow(new Object[] { "MVC", "Yes", "No", "Yes"});
tableModel.addRow(new Object[] { "ASP.NET", "Yes", "Yes", "Yes"});
tableModel.addRow(new Object[] { "F#", "Yes", "No", "Yes"});
tableModel.addRow(new Object[] { "SharePoint", "Yes", "Yes", "Yes"});
tableModel.addRow(new Object[] { "AWS", "No", "No", "Yes"});
// set different height for different rows
table.setRowHeight(2, 50);
table.setRowHeight(4, 35);
table.setRowHeight(6, 20);
table.setRowHeight(8, 45);
table.setBackground(Color.orange);
table.setForeground(Color.black);
Font font = new Font("Verdana", Font.CENTER_BASELINE, 12);
table.setFont(font);
JFrame frame = new JFrame();
frame.setSize(600, 400);
frame.add(new JScrollPane(table));
frame.setVisible(true);
}
}輸出如下,顯示不同高度的行 −
輸出

廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP