各位大神:
本人在JTable中添加了JComboBox控件,通过一个按钮去触发子界面,如果在JTable中触发了JComboBox控件就会导致需要弹出的子窗口不能在最前面一直在父窗口的后面。如果没有去触发JComboBox控件,则弹出的子窗口会在最前面。
代码如下:
JComboBox控件在JTable中添加方式:
JComboBox isJTCombox = new JComboBox()
isJTCombox.addItem("");
isJTCombox.addItem("是");
isJTCombox.addItem("否");
//String[] item = new String[]{"","是","否"};
table.getColumnModel().getColumn(23).setCellEditor(
new DefaultCellEditor(isJTCombox));
JTable生成方式
tableModel = new DefaultTableModel(obj, tableHeader);
table = new JTable(tableModel);
按钮JButton生成方式及调用子界面方法
fenButton.addActionListener(this);
public void actionPerformed(ActionEvent arg0) {
if (arg0.getSource() == fenButton) {
Display display = Display.getCurrent();
if (display == null) {
display = Display.getDefault();
}
display.asyncExec(new Runnable() {
@Override
public void run() {
NewDialog dialog = new NewDialog(shell);
dialog.open()
}
});
}
}
子界面代码(注:子界面必须要继承Dialog)
public class NewDialog extends Dialog {
public NewDialog(Shell shell) {
super(shell);
}
protected Control createDialog(Composite parent) {
Composite container1 = (Composite) super.createDialogArea(parent);
}
}