2 alan9101 alan9101 于 2016.03.10 18:56 提问

JAVA JTable 中触发JComboBox导致子窗口会到父窗口后面

各位大神:
本人在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);

            }
    }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!