/** * Adds one or two (side by side) text areas. * * @param text1 initial contents of the first text area * @param text2 initial contents of the second text area or null * @param rows the number of rows * @param columns the number of columns */ public void addTextAreas(String text1, String text2, int rows, int columns) { if (textArea1 != null) return; Panel panel = new Panel(); textArea1 = new TextArea(text1, rows, columns, TextArea.SCROLLBARS_NONE); if (IJ.isLinux()) textArea1.setBackground(Color.white); textArea1.addTextListener(this); panel.add(textArea1); if (text2 != null) { textArea2 = new TextArea(text2, rows, columns, TextArea.SCROLLBARS_NONE); if (IJ.isLinux()) textArea2.setBackground(Color.white); panel.add(textArea2); } c.gridx = 0; c.gridy = y; c.gridwidth = 2; c.anchor = GridBagConstraints.WEST; c.insets = getInsets(15, 20, 0, 0); grid.setConstraints(panel, c); add(panel); y++; }
/** * 新增視窗物件 設定物件屬性 內容 * * @param o 物件instances * @param reg 物件位置 * @param name 物件名稱 * @param value 物件標籤 或 內容 */ protected void addObject(Object o, Rectangle reg, String name, String value) { if (o instanceof Label) { ((Label) o).setText(value); ((Label) o).setName(name); ((Label) o).setBounds(reg); ((Label) o).addMouseListener(this); this.add((Label) o); } else if (o instanceof TextField) { ((TextField) o).setText(value); ((TextField) o).setName(name); ((TextField) o).setBounds(reg); ((TextField) o).addMouseListener(this); ((TextField) o).addTextListener(this); ((TextField) o).addKeyListener(this); if (value.equalsIgnoreCase("password")) ((TextField) o).setEchoChar('*'); this.add((TextField) o); } else if (o instanceof Button) { int len = (int) ((float) reg.width / FONTWIDTH); ((Button) o).setLabel(StringUtil_.splitStringSpace(value, len)); ((Button) o).setName(name); ((Button) o).setBounds(reg); ((Button) o).addMouseListener(this); this.add((Button) o); } else if (o instanceof TextArea) { ((TextArea) o).setText(value); ((TextArea) o).setName(name); ((TextArea) o).setBounds(reg); ((TextArea) o).addMouseListener(this); ((TextArea) o).addTextListener(this); ((TextArea) o).addKeyListener(this); this.add((TextArea) o); } else if (o instanceof Choice) { String[] values = value.split(","); for (int ii = 0; ii < values.length; ii++) ((Choice) o).addItem(values[ii]); ((Choice) o).setName(name); ((Choice) o).setBounds(reg); ((Choice) o).addMouseListener(this); ((Choice) o).addItemListener(this); this.add((Choice) o); } else if (o instanceof Checkbox) { ((Checkbox) o).setLabel(value); ((Checkbox) o).setName(name); ((Checkbox) o).setBounds(reg); ((Checkbox) o).addMouseListener(this); ((Checkbox) o).addItemListener(this); this.add((Checkbox) o); } else if (o instanceof CheckboxGroup) { String[] values = value.split(","); for (int ii = 0; ii < values.length; ii++) { Checkbox chk = new Checkbox(); chk.setLabel(values[ii]); chk.setName(name + ii); chk.setBounds(reg); reg.y += 25; chk.addMouseListener(this); chk.addItemListener(this); chk.setCheckboxGroup((CheckboxGroup) o); this.add(chk); } } else if (o instanceof List) { String[] values = value.split(","); ((List) o).setName(name); ((List) o).setBounds(reg); ((List) o).addMouseListener(this); ((List) o).addItemListener(this); for (int ii = 0; ii < values.length; ii++) ((List) o).add(values[ii]); this.add(((List) o)); } }