eclipse中用swt designer,为控件添加事件处理程序的问题,在线等!!!

原先建了一个applicantwindow,在上面添加了控件button,然后添加事件处理程序,想弹出另外一个窗口/对话框,请问怎么弄?谢谢!还有,新弹出来的窗口还要往上... 原先建了一个applicant window ,在上面添加了控件 button,然后添加事件处理程序,想弹出另外一个窗口/对话框,请问怎么弄?谢谢!
还有,新弹出来的窗口还要往上面添加控件
展开
 我来答
jqaini520
2011-04-16 · 超过15用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:34万
展开全部
在button的事件处理方法里面添加:
JoptionPanel.showMessageDialog 就是用来弹出窗口的。还有其他show方法,可以看看源码怎么用。
wojiushiwoltq
2011-04-22 · TA获得超过875个赞
知道小有建树答主
回答量:369
采纳率:100%
帮助的人:355万
展开全部
用来打开对话框的窗口
package com.wojiushiwoltq;

import org.eclipse.swt.SWT;

/**
* 类说明
*
* @author WoJiuShiWoLtq
* @version 1.0
* @Date 2011 2011-4-22 下午04:50:58
*
*/

public class Test {

protected Shell shell;

/**
* Launch the application.
* @param args
*/
public static void main(String[] args) {
try {
Test window = new Test();
window.open();
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* Open the window.
*/
public void open() {
Display display = Display.getDefault();
createContents();
shell.open();
shell.layout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
}

/**
* Create contents of the window.
*/
protected void createContents() {
shell = new Shell();
shell.setSize(450, 300);
shell.setText("SWT Application");
shell.setLayout(new FillLayout());
Composite composite = new Composite(shell, SWT.NONE);
composite.setLayout(new FormLayout());
Button button = new Button(composite,SWT.NONE);
{
FormData data = new FormData();
data.top = new FormAttachment(0, 10);
data.left=new FormAttachment(0, 10);
button.setLayoutData(data);
button.setText("按钮");
}
button.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
new MyDialog(null).open();
}
});

}

}

对话窗口

package com.wojiushiwoltq;

import org.eclipse.jface.dialogs.Dialog;

/**
* 类说明
*
* @author WoJiuShiWoLtq
* @version 1.0
* @Date 2011 2011-4-22 下午04:56:16
*
*/

public class MyDialog extends Dialog {

/**
* Create the dialog.
* @param parentShell
*/
public MyDialog(Shell parentShell) {
super(parentShell);
}

/**
* Create contents of the dialog.
* @param parent
*/
@Override
protected Control createDialogArea(Composite parent) {
Composite container = (Composite) super.createDialogArea(parent);

return container;
}

/**
* Create contents of the button bar.
* @param parent
*/
@Override
protected void createButtonsForButtonBar(Composite parent) {
createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL,
true);
createButton(parent, IDialogConstants.CANCEL_ID,
IDialogConstants.CANCEL_LABEL, false);
}

/**
* Return the initial size of the dialog.
*/
@Override
protected Point getInitialSize() {
return new Point(450, 300);
}

}

要在对话框里添加控件就在createDialogArea方法里加就可以了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式