- 전체
- JAVA 일반
- JAVA 수학
- JAVA 그래픽
- JAVA 자료구조
- JAVA 인공지능
- JAVA 인터넷
- Java Framework
- Java GUI (AWT,SWING,SWT,JFACE)
- SWT and RCP (web RAP/RWT)[eclipse], EMF
How to create your own dialog classes
//Send questions, comments, bug reports, etc. to the authors: //Rob Warner (rwarner@interspatial.com) //Robert Harris (rbrt_harris@yahoo.com) import org.eclipse.swt.*; import org.eclipse.swt.events.*; import org.eclipse.swt.layout.*; import org.eclipse.swt.widgets.*; /** * This class demonstrates how to create your own dialog classes. It allows users * to input a String */ public class InputDialog extends Dialog { private String message; private String input; /** * InputDialog constructor * * @param parent the parent */ public InputDialog(Shell parent) { // Pass the default styles here this(parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); } /** * InputDialog constructor * * @param parent the parent * @param style the style */ public InputDialog(Shell parent, int style) { // Let users override the default styles super(parent, style); setText("Input Dialog"); setMessage("Please enter a value:"); } /** * Gets the message * * @return String */ public String getMessage() { return message; } /** * Sets the message * * @param message the new message */ public void setMessage(String message) { this.message = message; } /** * Gets the input * * @return String */ public String getInput() { return input; } /** * Sets the input * * @param input the new input */ public void setInput(String input) { this.input = input; } /** * Opens the dialog and returns the input * * @return String */ public String open() { // Create the dialog window Shell shell = new Shell(getParent(), getStyle()); shell.setText(getText()); createContents(shell); shell.pack(); shell.open(); Display display = getParent().getDisplay(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } // Return the entered value, or null return input; } /** * Creates the dialog's contents * * @param shell the dialog window */ private void createContents(final Shell shell) { shell.setLayout(new GridLayout(2, true)); // Show the message Label label = new Label(shell, SWT.NONE); label.setText(message); GridData data = new GridData(); data.horizontalSpan = 2; label.setLayoutData(data); // Display the input box final Text text = new Text(shell, SWT.BORDER); data = new GridData(GridData.FILL_HORIZONTAL); data.horizontalSpan = 2; text.setLayoutData(data); // Create the OK button and add a handler // so that pressing it will set input // to the entered value Button ok = new Button(shell, SWT.PUSH); ok.setText("OK"); data = new GridData(GridData.FILL_HORIZONTAL); ok.setLayoutData(data); ok.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { input = text.getText(); shell.close(); } }); // Create the cancel button and add a handler // so that pressing it will set input to null Button cancel = new Button(shell, SWT.PUSH); cancel.setText("Cancel"); data = new GridData(GridData.FILL_HORIZONTAL); cancel.setLayoutData(data); cancel.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { input = null; shell.close(); } }); // Set the OK button as the default, so // user can type input and press Enter // to dismiss shell.setDefaultButton(ok); } }
[출처] http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/Howtocreateyourowndialogclasses.htm
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
6 | java4autocad Java for Autocad | 졸리운_곰 | 2017.04.26 | 257 |
5 | Java3D and Eclipse | 졸리운_곰 | 2015.08.12 | 113 |
4 | Draw2d Intro | 졸리운_곰 | 2015.07.29 | 338 |
3 | FreeLayout: A New Java Layout | 졸리운_곰 | 2015.05.14 | 140 |
2 | XML file to Treeviewer | 졸리운_곰 | 2015.03.19 | 199 |
1 | Java GUI(AWT) 프로그래밍 | 졸리운_곰 | 2015.03.09 | 671 |