Java by API/org.eclipse.jface.dialogs/IDialogConstants

Материал из Java эксперт
Перейти к: навигация, поиск

IDialogConstants.NO_ID

   <source lang="java">

import java.io.FileInputStream; import java.io.FileNotFoundException; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.IInputValidator; import org.eclipse.jface.dialogs.IconAndMessageDialog; import org.eclipse.jface.window.ApplicationWindow; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.ruposite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; public class MainClass extends ApplicationWindow {

 public MainClass() {
   super(null);
 }
 public void run() {
   setBlockOnOpen(true);
   open();
   Display.getCurrent().dispose();
 }
 protected void configureShell(Shell shell) {
   super.configureShell(shell);
   shell.setText("Send Message");
   shell.setSize(500, 400);
   MyMessageDialog dlg = new MyMessageDialog(shell);
   dlg.open();
 }
 public static void main(String[] args) {
   new MainClass().run();
 }

}

class MyMessageDialog extends IconAndMessageDialog {

 public static final int MyID = IDialogConstants.CLIENT_ID;
 public static final String MyLABEL = "Custom";
 private Image image;
 private Label label;
 public MyMessageDialog(Shell parent) {
   super(parent);
   try {
     image = new Image(parent.getDisplay(), new FileInputStream("images/loser.gif"));
   } catch (FileNotFoundException e) {
   }
   message = "message";
 }
 public void setMessage(String message) {
   this.message = message;
 }
 public boolean close() {
   if (image != null)
     image.dispose();
   return super.close();
 }
 protected Control createDialogArea(Composite parent) {
   createMessageArea(parent);
   Composite composite = new Composite(parent, SWT.NONE);
   GridData data = new GridData(GridData.FILL_BOTH);
   data.horizontalSpan = 2;
   composite.setLayoutData(data);
   composite.setLayout(new FillLayout());
   label = new Label(composite, SWT.LEFT);
   return composite;
 }
 protected void createButtonsForButtonBar(Composite parent) {
   createButton(parent, IDialogConstants.YES_ID, IDialogConstants.YES_LABEL, true);
   createButton(parent, IDialogConstants.NO_ID, IDialogConstants.NO_LABEL, false);
   createButton(parent, MyID, MyLABEL, false);
 }
 protected void buttonPressed(int buttonId) {
   if (buttonId == MyID) {
     setReturnCode(buttonId);
     close();
   } else {
     label.setText("Yeah, right. You know nothing.");
   }
 }
 protected Image getImage() {
   return image;
 }

}

      </source>
   
  
 
  



IDialogConstants.YES_ID

   <source lang="java">

import java.io.FileInputStream; import java.io.FileNotFoundException; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.IInputValidator; import org.eclipse.jface.dialogs.IconAndMessageDialog; import org.eclipse.jface.window.ApplicationWindow; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.ruposite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; public class MainClass extends ApplicationWindow {

 public MainClass() {
   super(null);
 }
 public void run() {
   setBlockOnOpen(true);
   open();
   Display.getCurrent().dispose();
 }
 protected void configureShell(Shell shell) {
   super.configureShell(shell);
   shell.setText("Send Message");
   shell.setSize(500, 400);
   MyMessageDialog dlg = new MyMessageDialog(shell);
   dlg.open();
 }
 public static void main(String[] args) {
   new MainClass().run();
 }

}

class MyMessageDialog extends IconAndMessageDialog {

 public static final int MyID = IDialogConstants.CLIENT_ID;
 public static final String MyLABEL = "Custom";
 private Image image;
 private Label label;
 public MyMessageDialog(Shell parent) {
   super(parent);
   try {
     image = new Image(parent.getDisplay(), new FileInputStream("images/loser.gif"));
   } catch (FileNotFoundException e) {
   }
   message = "message";
 }
 public void setMessage(String message) {
   this.message = message;
 }
 public boolean close() {
   if (image != null)
     image.dispose();
   return super.close();
 }
 protected Control createDialogArea(Composite parent) {
   createMessageArea(parent);
   Composite composite = new Composite(parent, SWT.NONE);
   GridData data = new GridData(GridData.FILL_BOTH);
   data.horizontalSpan = 2;
   composite.setLayoutData(data);
   composite.setLayout(new FillLayout());
   label = new Label(composite, SWT.LEFT);
   return composite;
 }
 protected void createButtonsForButtonBar(Composite parent) {
   createButton(parent, IDialogConstants.YES_ID, IDialogConstants.YES_LABEL, true);
   createButton(parent, IDialogConstants.NO_ID, IDialogConstants.NO_LABEL, false);
   createButton(parent, MyID, MyLABEL, false);
 }
 protected void buttonPressed(int buttonId) {
   if (buttonId == MyID) {
     setReturnCode(buttonId);
     close();
   } else {
     label.setText("Yeah, right. You know nothing.");
   }
 }
 protected Image getImage() {
   return image;
 }

}

      </source>