作爲一個JComboBox,ListCellRenderer,我有這樣一個類:JComboBox中,編輯器和渲染器相關
class ZComboBoxRenderer extends JPanel implements ListCellRenderer{
private ZGrid grid;
public ZComboBoxRenderer(ZGrid grid) {
setLayout(new BorderLayout());
this.grid = grid;
add(new JScrollPane(grid), BorderLayout.CENTER);
}
public ZGrid getGrid(){
return grid;
}
@Override
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
grid.fetchSQL();
return this;
}
}
ZGrid
這裏,延伸JTable
。
作爲ListCellRendererComponent
,我提供了一個內部爲ZGrid
的JPanel,內部爲JCombobox
。問題是,在它的列表中,這個ZGrid繪畫得當。但它也在JCombobox的編輯中被繪製。我上傳了一張圖片以更好地展示這一點。
有沒有辦法將編輯器與列表分開?
alt text http://img444.imageshack.us/img444/564/soex.jpg
自從我問這個問題已經有一段時間了,我已經改變了我對這個問題的設計。儘管謝謝你的回答。 –