04-27-2012 04:53 AM - edited 04-27-2012 04:55 AM
hello,
i want to create border of text box without using XYEdge or BorderFactory.
means custom TextBox.
Provide me simple solution
answer plz.
Thanks
Himanshu
Solved! Go to Solution.
04-27-2012 05:02 AM
04-27-2012 05:03 AM
i ll try this..
04-27-2012 05:18 AM - edited 04-27-2012 05:32 AM
not creating .....
Hepl me now.
04-27-2012 06:06 AM
I have created acustom clas to use text box as a text area hope this help
package mypackage;
import net.rim.device.api.system.Display;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.Graphics;
import net.rim.device.api.ui.Manager;
import net.rim.device.api.ui.component.BitmapField;
import net.rim.device.api.ui.component.EditField;
import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.component.TextField;
import net.rim.device.api.ui.container.HorizontalFieldMan
import net.rim.device.api.ui.container.VerticalFieldManag
public class CustomTextFieldArea extends VerticalFieldManager{
private Boolean overrideFocusable = null;
private int managerWidth;
private int managerHeight;
private final EditField editField;
private final LabelField lbl;
private final HorizontalFieldManager hfm;
private final VerticalFieldManager vfm;
public CustomTextFieldArea(String label, int width, int height, int maxChars) {
super(Manager.NO_VERTICAL_SCROLL);
managerWidth = width;
managerHeight = height;
lbl = new LabelField();
vfm = new VerticalFieldManager(Manager.VERTICAL_SCROLL | Manager.VERTICAL_SCROLLBAR);
hfm = new HorizontalFieldManager();
editField = new EditField("", "", maxChars, Field.NON_SPELLCHECKABLE | TextField.NO_COMPLEX_INPUT);
// no length, no label
String trimmedLabel = label.trim();
if (trimmedLabel.length() > 0) {
lbl.setText(trimmedLabel + ":");
hfm.add(lbl);
add(hfm);
}
vfm.add(editField);
add(vfm);
}
public CustomTextFieldArea(String label) {
this(label, Display.getWidth() - 10, 100, EditField.DEFAULT_MAXCHARS);
}
public CustomTextFieldArea(int width, int height, int maxChars) {
this("", width, height, maxChars);
}
public CustomTextFieldArea(int width, int maxChars) {
this("", width, 0, maxChars);
}
public void paint(Graphics g) {
super.paint(g);
int lblHeight = lbl.getHeight();
g.drawRect(0, lblHeight, getWidth(), getHeight() - lblHeight);
}
public void sublayout(int width, int height) {
if (managerWidth == 0) {
managerWidth = width;
}
if (managerHeight == 0) {
managerHeight = height;
}
super.sublayout(managerWidth, managerHeight);
setExtent(managerWidth, managerHeight);
}
public String getText() {
return editField.getText();
}
public void setText(String text) {
editField.setText(text);
}
public void clear() {
setText(null);
}
public void setFocusable(boolean focusable) {
this.overrideFocusable = focusable ? Boolean.TRUE : Boolean.FALSE;
}
public boolean isFocusable() {
if (null == overrideFocusable) {
return super.isFocusable();
}
return overrideFocusable.booleanValue();
}
public void setLable(String string) {
lbl.setText(string);
}
public void setEditable(boolean editable) {
super.setEditable(editable);
editField.setEditable(editable);
}
public void setImage(BitmapField bitmapField) {
hfm.add(bitmapField);
}
public String toString() {
return getText();
}
}
04-27-2012 06:16 AM
nice code
but is there any small code for textbox and its border...
plz .
04-27-2012 06:17 AM
Something else that might help:
http://supportforums.blackberry.com/t5/Java-Develo
04-27-2012 06:58 AM
I have removed some unused code.....check this
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.Graphics;
import net.rim.device.api.ui.Manager;
import net.rim.device.api.ui.component.EditField;
import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.component.TextField;
import net.rim.device.api.ui.container.HorizontalFieldMan
import net.rim.device.api.ui.container.VerticalFieldManag
public class CustomTextFieldArea extends VerticalFieldManager{
private int managerWidth;
private int managerHeight;
private final EditField editField;
private final LabelField lbl;
private final HorizontalFieldManager hfm;
private final VerticalFieldManager vfm;
public CustomTextFieldArea(String label, int width, int height, int maxChars) {
super(Manager.NO_VERTICAL_SCROLL);
managerWidth = width;
managerHeight = height;
lbl = new LabelField();
vfm = new VerticalFieldManager(Manager.VERTICAL_SCROLL | Manager.VERTICAL_SCROLLBAR);
hfm = new HorizontalFieldManager();
editField = new EditField("", "", maxChars, Field.NON_SPELLCHECKABLE | TextField.NO_COMPLEX_INPUT);
String trimmedLabel = label.trim();
if (trimmedLabel.length() > 0) {
lbl.setText(trimmedLabel + ":");
hfm.add(lbl);
add(hfm);
}
vfm.add(editField);
add(vfm);
}
public void paint(Graphics g) {
super.paint(g);
int lblHeight = lbl.getHeight();
g.drawRect(0, lblHeight, getWidth(), getHeight() - lblHeight);
}
public void sublayout(int width, int height) {
if (managerWidth == 0) {
managerWidth = width;
}
if (managerHeight == 0) {
managerHeight = height;
}
super.sublayout(managerWidth, managerHeight);
setExtent(managerWidth, managerHeight);
}
public String getText() {
return editField.getText();
}
public void setText(String text) {
editField.setText(text);
}
public void clear() {
setText(null);
}
}
04-27-2012 07:11 AM - edited 04-27-2012 07:12 AM
Thanks this code is good and gettable by new beginners .
Thanks alot peter_strange Sir.
Himanshu
04-27-2012 08:05 AM
Can you not read a manual or search the net for examples !?