Thread View: borland.public.jbuilder.java.swing
1 messages
1 total messages
Started by kishanthany
Mon, 26 Jun 2006 08:33
JFormattedTextField - Troble with decimal
Author: kishanthany
Date: Mon, 26 Jun 2006 08:33
Date: Mon, 26 Jun 2006 08:33
85 lines
3382 bytes
3382 bytes
Hey!
I'm having problem with entering numbers after decimal point. I 've set
two numbers after decimal point. when I add first time it's working.
When try to override it takes third number & rounding it off and adding
it.
If I enable override mode enable when I entering number reaches cmmma
(,) with out problem but afterwards it takes next two digits after
decimal point addes with entered number.
I tried my best to solve it. please someone help me to sort out this
problem..
I've added my code here you can test and give me some idea..
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import javax.swing.text.NumberFormatter;
import javax.swing.text.DefaultFormatterFactory;
import javax.swing.JTextField;
import javax.swing.JFormattedTextField;
import javax.swing.text.DefaultFormatter;
import java.math.BigDecimal;
import java.util.Locale;
import java.text.*;
import javax.swing.text.MaskFormatter;
public class NumberCellEditor{
DecimalFormat numberFormat;
JFrame frame;
JFormattedTextField text,text1;
JPanel panel;
public void create(){
text=new JFormattedTextField();
text1=new JFormattedTextField();
numberFormat = (DecimalFormat) NumberFormat.getNumberInstance();
numberFormat.setDecimalSeparatorAlwaysShown(true);
numberFormat.setMinimumFractionDigits(2);
NumberFormatter numFormatter = new
NumberFormatter(numberFormat);
numFormatter.setAllowsInvalid(false);
numFormatter.setFormat(numberFormat);
//numFormatter.setOverwriteMode(true);
text.setValue(new Float(0.0F));
text.setFormatterFactory(new
DefaultFormatterFactory(numFormatter));
text.setHorizontalAlignment(JTextField.TRAILING);
}
public void createComp(){
frame=new JFrame(" TEST 2");
panel=new JPanel();
panel.setLayout(null);
create();
text.setBounds(100,100,100,30);
text1.setBounds(100,200,100,30);
panel.add(text);
panel.add(text1);
frame.getContentPane().add(panel);
frame.setSize(300,300);
frame.setVisible(true);
}
public static void main (String [] args){
NumberCellEditor n=new NumberCellEditor();
n.createComp();
}
}
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads