⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 messageboxshell.java

📁 java 文件下载器。可自定义
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			{
				this$0 = MessageBoxShell.this;
				shell = shell1;
				lblCloseIn = label;
				Object();
				wasOver = true;
				lEnterOn = 0L;
			}
			});
		}
		Button checkRemember = null;
		if (rememberID != null)
		{
			checkRemember = new Button(shell, 32);
			checkRemember.setText(rememberText);
			checkRemember.setSelection(rememberByDefault);
			checkRemember.addDisposeListener(new DisposeListener() {

				final int val$result[];
				final MessageBoxShell this$0;

				public void widgetDisposed(DisposeEvent e)
				{
					Button checkRemember = (Button)e.widget;
					isRemembered = checkRemember != null && checkRemember.getSelection();
					if (rememberID != null && isRemembered && (rememberOnlyIfButton == -1 || rememberOnlyIfButton == result[0]))
						RememberedDecisionsManager.setRemembered(rememberID, result[0]);
				}

			
			{
				this$0 = MessageBoxShell.this;
				result = ai;
				Object();
			}
			});
		}
		if (buttons.length > 0)
		{
			Label labelSeparator = new Label(shell, 258);
			labelSeparator.setLayoutData(new GridData(768));
			Composite cButtons = new Composite(shell, 0);
			FormLayout layout = new FormLayout();
			cButtons.setLayout(layout);
			GridData gridData = new GridData(128);
			cButtons.setLayoutData(gridData);
			Control lastButton = null;
			Listener buttonListener = new Listener() {

				final int val$result[];
				final Shell val$shell;
				final MessageBoxShell this$0;

				public void handleEvent(Event event)
				{
					result[0] = ((Integer)event.widget.getData()).intValue();
					shell.dispose();
				}

			
			{
				this$0 = MessageBoxShell.this;
				result = ai;
				shell = shell1;
				Object();
			}
			};
			int buttonWidth = 0;
			Button swtButtons[] = new Button[buttons.length];
			for (int i = 0; i < buttons.length; i++)
			{
				Button button = new Button(cButtons, 8);
				swtButtons[i] = button;
				button.setData(new Integer(i));
				button.setText(buttons[i]);
				button.addListener(13, buttonListener);
				FormData formData = new FormData();
				if (lastButton != null)
					formData.left = new FormAttachment(lastButton, 5);
				button.setLayoutData(formData);
				Point size = button.computeSize(-1, -1);
				if (size.x > buttonWidth)
					buttonWidth = size.x;
				if (i == defaultOption)
				{
					button.setFocus();
					shell.setDefaultButton(button);
				}
				lastButton = button;
			}

			if (buttonWidth > 0)
			{
				if (buttonWidth < 70)
					buttonWidth = 70;
				for (int i = 0; i < buttons.length; i++)
				{
					Point size = swtButtons[i].computeSize(buttonWidth, -1);
					swtButtons[i].setSize(size);
					FormData formData = (FormData)swtButtons[i].getLayoutData();
					formData.width = buttonWidth;
				}

			}
		}
		shell.addTraverseListener(new TraverseListener() {

			final Shell val$shell;
			final MessageBoxShell this$0;

			public void keyTraversed(TraverseEvent event)
			{
				if (event.detail == 2)
					shell.dispose();
			}

			
			{
				this$0 = MessageBoxShell.this;
				shell = shell1;
				Object();
			}
		});
		Listener filterListener = new Listener() {

			final MessageBoxShell this$0;

			public void handleEvent(Event event)
			{
				if (event.detail == 64)
				{
					event.detail = 16;
					event.doit = true;
				} else
				if (event.detail == 32)
				{
					event.detail = 8;
					event.doit = true;
				}
			}

			
			{
				this$0 = MessageBoxShell.this;
				Object();
			}
		};
		display.addFilter(31, filterListener);
		if (mouseAdapter != null)
			addMouseTrackListener(shell, mouseAdapter);
		shell.pack();
		Point size = shell.getSize();
		if (size.x < min_size_x)
		{
			size.x = min_size_x;
			shell.setSize(size);
		} else
		if (size.x > max_size_x)
		{
			size = shell.computeSize(max_size_x, -1);
			shell.setSize(size);
		}
		if (size.y < min_size_y)
		{
			size.y = min_size_y;
			shell.setSize(size);
		}
		Utils.centerWindowRelativeTo(shell, parent);
		for (int i = 0; i < listeners.length; i++)
			listeners[i].skinAfterComponents(shell, this, relatedObjects);

		shell.open();
		do
		{
			if (shell.isDisposed())
				break;
			if (!display.readAndDispatch())
				display.sleep();
		} while (true);
		if (display != null && !display.isDisposed())
			display.removeFilter(31, filterListener);
		return result[0];
	}

	private void addMouseTrackListener(Composite parent, MouseTrackListener listener)
	{
		if (parent == null || listener == null || parent.isDisposed())
			return;
		parent.addMouseTrackListener(listener);
		Control children[] = parent.getChildren();
		for (int i = 0; i < children.length; i++)
		{
			Control control = children[i];
			if (control instanceof Composite)
				addMouseTrackListener((Composite)control, listener);
			else
				control.addMouseTrackListener(listener);
		}

	}

	private Canvas createLinkLabel(final Composite shell, final String text)
	{
		final Canvas canvas = new Canvas(0, text) {

			final String val$text;
			final MessageBoxShell this$0;

			public Point computeSize(int wHint, int hHint, boolean changed)
			{
				Rectangle area = new Rectangle(0, 0, wHint >= 0 ? wHint : max_size_x, 5000);
				GC gc = new GC(this);
				GCStringPrinter sp = new GCStringPrinter(gc, text, area, true, false, 192);
				sp.calculateMetrics();
				gc.dispose();
				Point size = sp.getCalculatedSize();
				return size;
			}

			
			{
				this$0 = MessageBoxShell.this;
				text = s;
				Canvas(x0, x1);
			}
		};
		Listener l = new Listener() {

			GCStringPrinter sp;
			final Canvas val$canvas;
			final Composite val$shell;
			final String val$text;
			final MessageBoxShell this$0;

			public void handleEvent(Event e)
			{
				if (!handleHTML)
				{
					if (e.type == 9)
					{
						Rectangle area = canvas.getClientArea();
						e.gc.setForeground(shell.getForeground());
						GCStringPrinter.printString(e.gc, text, area, true, false, 192);
					}
					return;
				}
				if (e.type == 9)
				{
					Rectangle area = canvas.getClientArea();
					sp = new GCStringPrinter(e.gc, text, area, true, false, 192);
					sp.setUrlColor(ColorCache.getColor(e.gc.getDevice(), "#0000ff"));
					if (urlColor != null)
						sp.setUrlColor(urlColor);
					e.gc.setForeground(shell.getForeground());
					sp.printString();
				} else
				if (e.type == 5)
				{
					if (sp != null)
					{
						GCStringPrinter.URLInfo hitUrl = sp.getHitUrl(e.x, e.y);
						if (hitUrl != null)
						{
							canvas.setCursor(canvas.getDisplay().getSystemCursor(21));
							canvas.setToolTipText(hitUrl.url);
						} else
						{
							canvas.setCursor(canvas.getDisplay().getSystemCursor(0));
							canvas.setToolTipText(null);
						}
					}
				} else
				if (e.type == 4 && sp != null)
				{
					GCStringPrinter.URLInfo hitUrl = sp.getHitUrl(e.x, e.y);
					if (hitUrl != null && !hitUrl.url.startsWith(":"))
						Utils.launch(hitUrl.url);
				}
			}

			
			{
				this$0 = MessageBoxShell.this;
				canvas = canvas1;
				shell = composite;
				text = s;
				Object();
			}
		};
		canvas.addListener(9, l);
		if (handleHTML)
		{
			canvas.addListener(5, l);
			canvas.addListener(4, l);
		}
		ClipboardCopy.addCopyToClipMenu(canvas, new org.gudy.azureus2.ui.swt.mainwindow.ClipboardCopy.copyToClipProvider() {

			final String val$text;
			final MessageBoxShell this$0;

			public String getText()
			{
				return text;
			}

			
			{
				this$0 = MessageBoxShell.this;
				text = s;
				Object();
			}
		});
		return canvas;
	}

	public String getHtml()
	{
		return html;
	}

	public void setHtml(String html)
	{
		this.html = html;
	}

	public void setUrl(String url)
	{
		this.url = url;
	}

	public void setSize(int width, int height)
	{
		min_size_x = width;
		max_size_x = width;
		min_size_y = height;
	}

	public String getRememberID()
	{
		return rememberID;
	}

	public void setRememberID(String rememberID, boolean rememberByDefault)
	{
		this.rememberID = rememberID;
		this.rememberByDefault = rememberByDefault;
	}

	public String getRememberText()
	{
		return rememberText;
	}

	public void setRememberText(String rememberText)
	{
		this.rememberText = rememberText;
	}

	public int getAutoCloseInMS()
	{
		return autoCloseInMS;
	}

	public void setAutoCloseInMS(int autoCloseInMS)
	{
		this.autoCloseInMS = autoCloseInMS;
	}

	public void setSquish(boolean b)
	{
		squish = b;
	}

	public boolean isAutoClosed()
	{
		return autoClosed;
	}

	public void setRelatedObject(Object relatedObject)
	{
		relatedObjects = (new Object[] {
			relatedObject
		});
	}

	public void setRelatedObjects(Object relatedObjects[])
	{
		this.relatedObjects = relatedObjects;
	}

	public Object[] getRelatedObjects()
	{
		return relatedObjects;
	}

	public Object getLeftImage()
	{
		return imgLeft != iconImage ? imgLeft : null;
	}

	public void setLeftImage(Image imgLeft)
	{
		this.imgLeft = imgLeft;
	}

	public void setLeftImage(final int icon)
	{
		Utils.execSWTThread(new AERunnable() {

			final int val$icon;
			final MessageBoxShell this$0;

			public void runSupport()
			{
				setLeftImage(Display.getDefault().getSystemImage(icon));
				iconImage = Display.getDefault().getSystemImage(icon);
			}

			
			{
				this$0 = MessageBoxShell.this;
				icon = i;
				AERunnable();
			}
		});
	}

	public void setIconResource(String resource)
	{
		iconImageID = null;
		if (resource.equals("info"))
			iconImage = Display.getDefault().getSystemImage(2);
		else
		if (resource.equals("warning"))
			iconImage = Display.getDefault().getSystemImage(8);
		else
		if (resource.equals("error"))
		{
			iconImage = Display.getDefault().getSystemImage(1);
		} else
		{
			iconImage = ImageLoader.getInstance().getImage(resource);
			iconImageID = resource;
		}
		setLeftImage(iconImage);
	}

	public static void main(String args[])
	{
		Display display = Display.getDefault();
		Shell shell = new Shell(display, 1264);
		shell.open();
		MessageBoxShell messageBoxShell = new MessageBoxShell(shell, "Title", "Test\nTHis is a very long line that tests whether the box gets really wide which is something we don't want.\nA <A HREF=\"Link\">link</A> for <A HREF=\"http://moo.com\">you</a>", new String[] {
			"Okay", "Cancyyyyyy", "Maybe"
		}, 1, "test2", MessageText.getString("MessageBoxWindow.nomoreprompting"), false, 15000);
		messageBoxShell.setHtml("<b>Moo</b> goes the cow<p><hr>");
		System.out.println(messageBoxShell.open());
	}

	public int getRememberOnlyIfButton()
	{
		return rememberOnlyIfButton;
	}

	public void setRememberOnlyIfButton(int rememberOnlyIfButton)
	{
		this.rememberOnlyIfButton = rememberOnlyIfButton;
	}

	public Color getUrlColor()
	{
		return urlColor;
	}

	public void setBrowserFollowLinks(boolean follow)
	{
		browser_follow_links = follow;
	}

	public void setUrlColor(Color colorURL)
	{
		urlColor = colorURL;
	}

	public void setHandleHTML(boolean handleHTML)
	{
		this.handleHTML = handleHTML;
	}

	public boolean isRemembered()
	{
		return isRemembered;
	}












}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -