Mega Code Archive

 
Categories / Java / Data Type
 

Number format viewer

import java.text.NumberFormat; import java.util.Locale; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.AbstractTableModel; public class NumberViewer extends JPanel {   protected AbstractTableModel tableModel;   protected double currentValue = 1234567.89d;   protected final static Locale[] availableLocales;   static {     availableLocales = Locale.getAvailableLocales();   }   public final static int LOCALE_COLUMN = 0;   public final static int NUMBER_COLUMN = 1;   public final static int CURRENCY_COLUMN = 2;   public final static int PERCENT_COLUMN = 3;   public final static String[] columnHeaders = { "Locale", "Numeric", "Currency", "Percent" };   public static void main(String[] args) {     JFrame f = new JFrame("Number Viewer");     f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     f.getContentPane().add(new NumberViewer());     f.pack();     f.setVisible(true);   }   public NumberViewer() {     tableModel = new LocaleTableModel();     JTable table = new JTable(tableModel);     add(new JScrollPane(table));   }   class LocaleTableModel extends AbstractTableModel {     public int getRowCount() {       return availableLocales.length;     }     public int getColumnCount() {       return columnHeaders.length;     }     public Object getValueAt(int row, int column) {       Locale locale = availableLocales[row];       NumberFormat formatter = NumberFormat.getNumberInstance();       switch (column) {       case LOCALE_COLUMN:         return locale.getDisplayName();       case NUMBER_COLUMN:         formatter = NumberFormat.getNumberInstance(locale);         break;       case CURRENCY_COLUMN:         formatter = NumberFormat.getCurrencyInstance(locale);         break;       case PERCENT_COLUMN:         formatter = NumberFormat.getPercentInstance(locale);         break;       }       return formatter.format(currentValue);     }     public String getColumnName(int column) {       return columnHeaders[column];     }   } }