!!セルを選択する public void selectCell(int vrow, int vcol){ table.getSelectionModel().setSelectionInterval(vrow,vrow); table.getColumnModel().getSelectionModel().setSelectionInterval(vcol,vcol); } !!エンターキーで、次の列へ移動する public void setEnterForNextColumn(boolean enable){ String action = ""; if (enable){ action = "selectNextColumnCell"; } else { action = "selectNextRowCell"; } KeyStroke enterPress = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false); InputMap im = table.getInputMap(JTable.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); im.put(enterPress,action); } !!列の幅の調整 setAutoResizeModeでAUTO_RESIZE_SUBSEQUENT_COLUMNSを設定した場合、 各列に指定された列幅に対して、同じ幅を追加(削除)して幅を合わせる。 例えば、 ・テーブル幅100 ・列1幅:20 ・列2幅:10 とした場合、幅100に合わせるために 100 - (20 + 10) = 70 を各列に割り振る。 結果、 ・列1幅:20 + (70 / 2) = 55 ・列2幅:10 + (70 / 2) = 45 となる。(みたい) もし、列1と列2を 2:1 の比率で表示したい場合は ・列1幅:60 ・列2幅:30 くらいで設定するとおおよそ、 2:1 になる。 !!JTableで一行毎に色を変える http://guijava.180r.com/pJTable%A4%C7%B0%EC%B9%D4%CB%E8%A4%CB%BF%A7%A4%F2%CA%D1%A4%A8%A4%EB.html {{code Java public class BirowTableRenderer extends DefaultTableCellRenderer{ private static final Color BIROW_COLOR = new Color(204, 204, 255); private static final Color ORG_COLOR=Color.WHITE; public Component getTableCellRendererComponent(JTable tb, Object val,boolean isSelected, boolean hasFocus,int r,int c){ if(r % 2 == 0){ setBackground(BIROW_COLOR); }else{ setBackground(ORG_COLOR); } return super.getTableCellRendererComponent(tb,val, isSelected,hasFocus,r,c); } } }} レンダラー設定 {{code Java JTable tb = getTestTable(); tb.setDefaultRenderer(Object.class,new BirowTableRenderer()); }} !!再描画(更新) revalidate で更新されない場合は updateUI を使ってみる。 {{category2 プログラミング言語,Java}}