本文整理匯總了Java中javax.swing.table.JTableHeader.getFontMetrics方法的典型用法代碼示例。如果您正苦於以下問題:Java JTableHeader.getFontMetrics方法的具體用法?Java JTableHeader.getFontMetrics怎麽用?Java JTableHeader.getFontMetrics使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類javax.swing.table.JTableHeader
的用法示例。
在下文中一共展示了JTableHeader.getFontMetrics方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: sizeColumnsToFit2
import javax.swing.table.JTableHeader; //導入方法依賴的package包/類
public static void sizeColumnsToFit2(JTable table, int columnMargin,DataNode line){
JTableHeader tableHeader = table.getTableHeader();
FontMetrics lineFontMetrics = table.getFontMetrics(table.getFont());
FontMetrics headerFontMetrics = tableHeader.getFontMetrics(tableHeader.getFont());
//System.out.println(line+" MaxColumnLength: "+line.getMaxColumnLength());
for (int t=0; t<table.getRowCount();t++){
for (int tt=0; tt<table.getColumnCount();tt++){
table.getColumnModel().getColumn(tt).setPreferredWidth(
(columnMargin*2)+line.getMaxColumnLength().get(table.getColumnName(tt))*lineFontMetrics.charsWidth("ABCD1834".toCharArray(),0,8)/8
);
tableHeader.getColumnModel().getColumn(tt).setPreferredWidth(
(columnMargin*2)+line.getMaxColumnLength().get(table.getColumnName(tt))*headerFontMetrics.charsWidth("ABCDabcd1834".toCharArray(),0,12)/12
);
//System.out.println("Zeile "+t+" Spalte "+tt+" "+" getPreferredWidth"+table.getColumnModel().getColumn(tt).getPreferredWidth()+" line.getMaxColumnLength"+line.getMaxColumnLength().get(table.getColumnName(t)));
}
}
}
示例2: sizeColumnsToFit
import javax.swing.table.JTableHeader; //導入方法依賴的package包/類
public static void sizeColumnsToFit(JTable table, int columnMargin) {
JTableHeader tableHeader = table.getTableHeader();
if(tableHeader == null) {
return;
}
FontMetrics headerFontMetrics = tableHeader.getFontMetrics(tableHeader.getFont());
int[] minWidths = new int[table.getColumnCount()];
int[] maxWidths = new int[table.getColumnCount()];
for(int columnIndex = 0; columnIndex < table.getColumnCount(); columnIndex++) {
int headerWidth = headerFontMetrics.stringWidth(table.getColumnName(columnIndex));
minWidths[columnIndex] = headerWidth + columnMargin;
int maxWidth = getMaximalRequiredColumnWidth(table, columnIndex, headerWidth);
maxWidths[columnIndex] = Math.max(maxWidth, minWidths[columnIndex]) + columnMargin;
}
adjustMaximumWidths(table, minWidths, maxWidths);
for(int i = 0; i < minWidths.length; i++) {
if(minWidths[i] > 0) {
table.getColumnModel().getColumn(i).setMinWidth(minWidths[i]);
}
if(maxWidths[i] > 0) {
table.getColumnModel().getColumn(i).setMaxWidth(maxWidths[i]);
table.getColumnModel().getColumn(i).setWidth(maxWidths[i]);
table.getColumnModel().getColumn(i).setMinWidth(maxWidths[i]);
}
}
}