您的位置:首页 > 其它

swing之JTable小测试(一个单元格添加两个或多个下拉框)

2012-09-18 11:05 381 查看
View Code

package com.copy;

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.util.EventObject;

import javax.swing.AbstractCellEditor;
import javax.swing.JComboBox;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.table.TableCellEditor;

public class JBoxTestCell  extends AbstractCellEditor implements
TableCellEditor {
int row;
private JTable table;
private JPanel p1;
private JComboBox jbxType1;
private JComboBox jbxType2;
private Object val = null;
public JBoxTestCell() {
p1 = new JPanel(new BorderLayout());
p1.setPreferredSize(new Dimension(300, 30));
String[] interest1 = { "足球1", "游泳1", "拉丁舞1", "击剑1", "马术1", "读书1", "旅游1" };
jbxType1 = new JComboBox(interest1);
jbxType1.setPreferredSize(new Dimension(80,25));

String[] interest2 = { "足球2", "游泳2", "拉丁舞2", "击剑2", "马术2", "读书2", "旅游2" };
jbxType2 = new JComboBox(interest2);
jbxType2.setPreferredSize(new Dimension(80,25));
jbxType1.setSelectedIndex(0);
jbxType2.setSelectedIndex(0);
p1.add(jbxType1, BorderLayout.WEST);
p1.add(jbxType2, BorderLayout.EAST);
}

@Override
public boolean isCellEditable(EventObject anEvent) {
return true;
}
public void showSave() {
jbxType1.setVisible(true);
jbxType2.setVisible(true);
}

public Object getCellEditorValue() {
String v1 = jbxType1.getSelectedItem().toString();
String v2 = jbxType2.getSelectedItem().toString();
return v1+", "+v2;

}

public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
this.table = table;
this.row = row;
val = value;
return this.p1;
}
}


界面展示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐