private void setTextBoxField(String str1, String str2, String str3) {
		if ((str3.startsWith("<t>") || str3.startsWith("<T>")) && (str3.endsWith("</t>") || str3.endsWith("<T>"))) {
			str3 = str3.substring(3, str3.length() - 4);
		} else {
			Matcher matcher = TEXT_EXTENSION.matcher(str3);
			if (matcher.find()) {
				String address = str3.substring(0, matcher.end()).trim();
				if (FileUtilities.isRelative(address)) {
					String base = (String) model.getProperty("url");
					if (base == null) {
						out(ScriptEvent.FAILED, "No directory has been specified. Save the page first.");
						return;
					}
					address = FileUtilities.getCodeBase(base) + address;
					if (System.getProperty("os.name").startsWith("Windows"))
						address = address.replace('\\', '/');
				}
				try {
					str3 = readText(address, view);
				} catch (InterruptedException e) {
					str3 = "Error in reading " + address;
				}
			}
		}
		int lb = str1.indexOf("[");
		int rb = str1.indexOf("]");
		double z = parseMathExpression(str1.substring(lb + 1, rb));
		if (Double.isNaN(z))
			return;
		int i = (int) Math.round(z);
		TextBoxComponent[] t = view.getTextBoxes();
		if (i >= t.length || i < 0) {
			out(ScriptEvent.FAILED, "Text box " + i + " doesn't exisit.");
			return;
		}
		String s = str2.toLowerCase().intern();
		boolean b = true;
		if (s == "text") {
			t[i].setText(format(str3));
		} else if (s == "callout") {
			t[i].setCallOut("true".equalsIgnoreCase(str3));
		} else if (s == "color") {
			Color c = parseRGBColor(str3);
			if (c != null)
				t[i].setForegroundColor(c);
		} else if (s == "transparent") {
			if ("true".equalsIgnoreCase(str3)) {
				t[i].setFillMode(FillMode.getNoFillMode());
			}
		} else if (s == "background") {
			Color c = parseRGBColor(str3);
			if (c != null)
				t[i].setFillMode(new FillMode.ColorFill(c));
		} else if (s == "visible") {
			t[i].setVisible("on".equalsIgnoreCase(str3));
		} else if (s == "draggable") {
			t[i].setDraggable("on".equalsIgnoreCase(str3));
		} else if (s == "font") {
			t[i].setFontFamily(str3);
		} else if (s == "size") {
			int n = t[i].getFont().getSize();
			try {
				t[i].setFontSize(parseInt(str3));
			} catch (Exception e) {
				t[i].setFontSize(n);
			}
		} else if (s == "style") {
			int n = t[i].getFont().getStyle();
			try {
				t[i].setFontStyle(parseInt(str3));
			} catch (Exception e) {
				t[i].setFontStyle(n);
			}
		} else if (s == "x") {
			double x = parseMathExpression(str3);
			if (!Double.isNaN(x))
				t[i].setRx(x * IR_CONVERTER);
		} else if (s == "y") {
			double y = parseMathExpression(str3);
			if (!Double.isNaN(y))
				t[i].setRy(y * IR_CONVERTER);
		} else if (s == "angle") {
			double a = parseMathExpression(str3);
			if (!Double.isNaN(a))
				t[i].setAngle((float) a);
		} else if (s == "border") {
			byte n = t[i].getBorderType();
			try {
				t[i].setBorderType((byte) parseInt(str3));
			} catch (Exception e) {
				t[i].setBorderType(n);
			}
		} else if (s == "shadow") {
			byte n = t[i].getShadowType();
			try {
				t[i].setShadowType((byte) parseInt(str3));
			} catch (Exception e) {
				t[i].setShadowType(n);
			}
		} else if (s == "layer") {
			if ("in_front_of_particles".equalsIgnoreCase(str3)) {
				t[i].setLayer(Layered.IN_FRONT_OF_PARTICLES);
			} else if ("behind_particles".equalsIgnoreCase(str3)) {
				t[i].setLayer(Layered.BEHIND_PARTICLES);
			} else if ("back".equalsIgnoreCase(str3)) {
				view.sendLayerToBack(t[i]);
			} else if ("front".equalsIgnoreCase(str3)) {
				view.bringLayerToFront(t[i]);
			}
		} else {
			out(ScriptEvent.FAILED, "Cannot set property: " + str2);
			b = false;
		}
		if (b) {
			view.repaint();
			notifyChange();
		}
	}