- 전체
- JAVA 일반
- JAVA 수학
- JAVA 그래픽
- JAVA 자료구조
- JAVA 인공지능
- JAVA 인터넷
- Java Framework
- Java GUI (AWT,SWING,SWT,JFACE)
- SWT and RCP (web RAP/RWT)[eclipse], EMF
Java GUI (AWT,SWING,SWT,JFACE) SWT JAVA 동적으로 컨트롤을 추가하는 다이얼로그
2015.04.27 14:01
SWT JAVA Example of Dialog that is Dynamicaly Add controls
SWT JAVA 동적으로 컨트롤을 추가하는 다이얼로그
package dynamicDialogTest; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.custom.ScrolledComposite; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.FormLayout; import org.eclipse.swt.layout.FormData; import org.eclipse.swt.layout.FormAttachment; import org.eclipse.swt.widgets.Text; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Combo; public class DynamicDialog extends Dialog { private Composite composite_2; /** * Create the dialog. * @param parentShell */ public DynamicDialog(Shell parentShell) { super(parentShell); } /** * Create contents of the dialog. * @param parent */ @Override protected Control createDialogArea(Composite parent) { Composite container = (Composite) super.createDialogArea(parent); container.setLayout(new FillLayout(SWT.HORIZONTAL)); ScrolledComposite scrolledComposite = new ScrolledComposite(container, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); scrolledComposite.setExpandHorizontal(true); scrolledComposite.setExpandVertical(true); final Composite composite = new Composite(scrolledComposite, SWT.NONE); composite.setLayout(new GridLayout(1, false)); scrolledComposite.setContent(composite); scrolledComposite.setSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); Composite composite_1 = new Composite(composite, SWT.NONE); composite_1.setLayout(new GridLayout(2, false)); GridData gd_composite_1 = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gd_composite_1.heightHint = 49; gd_composite_1.widthHint = 427; composite_1.setLayoutData(gd_composite_1); Label lblDefault = new Label(composite_1, SWT.NONE); lblDefault.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); lblDefault.setText("Default:"); Combo combo = new Combo(composite_1, SWT.NONE); combo.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false, 1, 1)); composite_2 = new Composite(composite, SWT.NONE); composite_2.setLayout(new GridLayout(4, false)); GridData gd_composite_2 = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); /*gd_composite_2.heightHint = 32; gd_composite_2.widthHint = 426;*/ composite_2.setLayoutData(gd_composite_2); Composite composite_3 = new Composite(composite, SWT.NONE); composite_3.setLayout(new GridLayout(1, false)); GridData gd_composite_3 = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gd_composite_3.heightHint = 38; gd_composite_3.widthHint = 427; composite_3.setLayoutData(gd_composite_3); Button btnAdd = new Button(composite_3, SWT.NONE); btnAdd.setText("Add"); btnAdd.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { Label label2 = new Label(composite_2, SWT.NONE); label2.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1)); label2.setText("1"); Text text_12 = new Text(composite_2, SWT.BORDER); text_12.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); Text text13 = new Text(composite_2, SWT.BORDER); text13.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); Button btnDelete = new Button(composite_2, SWT.NONE); btnDelete.setText("delete"); composite_2.layout(true); composite_2.layout(); // Point p = composite.getSize(); // composite.setSize(SWT.DEFAULT,SWT.DEFAULT); // composite.setSize(p); composite.layout(); } }); 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); } public static void main(String[] args){ Shell shell = new Shell(new Display()); //shell.setLayout(new FillLayout()); DynamicDialog dd = new DynamicDialog(shell); dd.open(); } }
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.