private void buildComponents(Container window) {
		if (window instanceof Frame)
			frame = (Frame) window;

		window.setFont(new Font("dialog", Font.PLAIN, 10));

		classpathField = new TextField(50);
		classField = new TextField(50);
		sourcecodeArea = new TextArea(20, 80);
		errorArea = new TextArea(3, 80);
		verboseCheck = new Checkbox("verbose", true);
		prettyCheck = new Checkbox("pretty", true);
		startButton = new Button("start");
		saveButton = new Button("save");
		// /#ifdef AWT10
		// / saveButton.disable();
		// /#else
		saveButton.setEnabled(false);
		// /#endif

		sourcecodeArea.setEditable(false);
		errorArea.setEditable(false);
		Font monospaced = new Font("monospaced", Font.PLAIN, 10);
		sourcecodeArea.setFont(monospaced);
		errorArea.setFont(monospaced);

		GridBagLayout gbl = new GridBagLayout();
		window.setLayout(gbl);
		GridBagConstraints labelConstr = new GridBagConstraints();
		GridBagConstraints textConstr = new GridBagConstraints();
		GridBagConstraints areaConstr = new GridBagConstraints();
		GridBagConstraints checkConstr = new GridBagConstraints();
		GridBagConstraints buttonConstr = new GridBagConstraints();
		labelConstr.fill = GridBagConstraints.NONE;
		textConstr.fill = GridBagConstraints.HORIZONTAL;
		areaConstr.fill = GridBagConstraints.BOTH;
		checkConstr.fill = GridBagConstraints.NONE;
		buttonConstr.fill = GridBagConstraints.NONE;
		labelConstr.anchor = GridBagConstraints.EAST;
		textConstr.anchor = GridBagConstraints.CENTER;
		checkConstr.anchor = GridBagConstraints.WEST;
		buttonConstr.anchor = GridBagConstraints.CENTER;
		labelConstr.anchor = GridBagConstraints.EAST;
		textConstr.gridwidth = GridBagConstraints.REMAINDER;
		textConstr.weightx = 1.0;
		areaConstr.gridwidth = GridBagConstraints.REMAINDER;
		areaConstr.weightx = 1.0;
		areaConstr.weighty = 1.0;

		// /#ifdef AWT10
		// / Label label = new Label("class path: ");
		// / gbl.setConstraints(label, labelConstr);
		// / window.add(label);
		// / gbl.setConstraints(classpathField, textConstr);
		// / window.add(classpathField);
		// / label = new Label("class name: ");
		// / gbl.setConstraints(label, labelConstr);
		// / window.add(label);
		// / gbl.setConstraints(classField, textConstr);
		// / window.add(classField);
		// / gbl.setConstraints(verboseCheck, checkConstr);
		// / window.add(verboseCheck);
		// / gbl.setConstraints(prettyCheck, checkConstr);
		// / window.add(prettyCheck);
		// / labelConstr.weightx = 1.0;
		// / label = new Label();
		// / gbl.setConstraints(label, labelConstr);
		// / window.add(label);
		// / gbl.setConstraints(startButton, buttonConstr);
		// / window.add(startButton);
		// / buttonConstr.gridwidth = GridBagConstraints.REMAINDER;
		// / gbl.setConstraints(saveButton, buttonConstr);
		// / window.add(saveButton);
		// / gbl.setConstraints(sourcecodeArea, areaConstr);
		// / window.add(sourcecodeArea);
		// / areaConstr.gridheight = GridBagConstraints.REMAINDER;
		// / areaConstr.weighty = 0.0;
		// / gbl.setConstraints(errorArea, areaConstr);
		// / window.add(errorArea);
		// /#else
		window.add(new Label("class path: "), labelConstr);
		window.add(classpathField, textConstr);
		window.add(new Label("class name: "), labelConstr);
		window.add(classField, textConstr);
		window.add(verboseCheck, checkConstr);
		window.add(prettyCheck, checkConstr);
		labelConstr.weightx = 1.0;
		window.add(new Label(), labelConstr);
		window.add(startButton, buttonConstr);
		buttonConstr.gridwidth = GridBagConstraints.REMAINDER;
		window.add(saveButton, buttonConstr);
		window.add(sourcecodeArea, areaConstr);
		areaConstr.gridheight = GridBagConstraints.REMAINDER;
		areaConstr.weighty = 0.0;
		window.add(errorArea, areaConstr);

		startButton.addActionListener(this);
		saveButton.addActionListener(this);
		// /#endif
		errStream = new PrintWriter(new AreaWriter(errorArea));
		decompiler.setErr(errStream);
	}