テーブル(Java 8)で使用するための独自のSpinnerCellEditorをビルドします。テクニカルスピナーは正しく動作しますが、スピナーのフォントは小さすぎるため、読むことができません。誰もがこの問題を解決する方法を持っていますか?テーブルのスピナーテキストが小さすぎる
エディタ
public class BSSpinnerCellEditor extends AbstractCellEditor implements TableCellEditor {
private JSpinner inputField;
private final static double min = 0.0;
private final static double max = 5.0;
private final static double step = 0.5;
public BSSpinnerCellEditor() {
inputField = new JSpinner (new SpinnerNumberModel (0.0, min, max, step));
inputField.setOpaque (true);
inputField.setBorder (null);
} // EOConstructor
public BSSpinnerCellEditor (float actValue) {
if (actValue < 0.0f || actValue > 5.0f)
actValue = 0.0f;
inputField = new JSpinner (new SpinnerNumberModel ((double) actValue, min, max, step));
inputField.setOpaque (true);
inputField.setBorder (null);
}
public BSSpinnerCellEditor (SpinnerModel aModel) {
inputField = new JSpinner (aModel);
inputField.setBorder (null);
}
public Component getTableCellEditorComponent (JTable table,
Object value, boolean isSelected,
int row, int column) {
TableModel aModel = table.getModel();
if (aModel != null && aModel instanceof BookRatingCriterionTableModel) {
BookRatingCriterionTableModel tModel = (BookRatingCriterionTableModel) aModel;
RatingCriterion aCriterion = tModel.getRatingCriterionAt (table.convertRowIndexToModel (row));
inputField.setValue (aCriterion.getRating());
} // EOIf
return inputField;
}
public Object getCellEditorValue() {
float retVal = ((Double) inputField.getValue()).floatValue();
if (retVal < min) {
inputField.setValue (min);
retVal = ((Double) min).floatValue();
}
else {
if (retVal > max) {
inputField.setValue (max);
retVal = ((Double) max).floatValue();
}
}
return retVal;
}
}
の実装結果は
ように見えるTableColumnModel aBookRatingModel = tab_Rat_Rating.getColumnModel();
aBookRatingModel.getColumn(2).setCellEditor (new BSSpinnerCellEditor());
テーブルへの結合
私はComboboxセルエディタで同じ問題がありました。 border属性をnullに設定して解決しました。しかし、これはここでは機能しません。私は解決策または類似の問題を探したが、何も見つかりませんでした。
私は情報やヒントを求められます。
よろしく イェルク
2つのこと - まず、私たちはあなたが現在これを実装しようとしているかを確認することができますので、あなたはいくつかのコードを投稿してくださいすることができます。第二に、これまでに何を試しましたか? –
こんにちはフランシス。ご協力いただきありがとうございます。私は私の追加情報が大丈夫です願っています。 – Crypticone