Задача: Преобразование сумм из цифрового представления в строковое
Фрагмент: основное окно приложения [java]
  1. // Создаем основное окно приложения
  2. public fplAmount () {
  3. setTitle ("Сумма прописью");
  4. setFont (new Font ("Helvetica", Font.PLAIN, 12));
  5. // Разместить компоненты в основном окне
  6. JLabel currLabel = new JLabel (" Валюта ", JLabel.RIGHT),
  7. summaLabel = new JLabel (" Сумма ", JLabel.RIGHT);
  8. currBox = new JComboBox (cv);
  9. summaField = new JTextField ("0.00", 12);
  10. JButton convertButton = new JButton ("Преобразовать");
  11. JPanel lPanel = new JPanel (new GridLayout (2, 1)),
  12. rPanel = new JPanel (new GridLayout (2, 1)),
  13. topPanel = new JPanel (new BorderLayout ()),
  14. botPanel = new JPanel (new FlowLayout (FlowLayout.RIGHT));
  15. lPanel.add (currLabel);
  16. lPanel.add (summaLabel);
  17. rPanel.add (currBox);
  18. rPanel.add (summaField);
  19. topPanel.add (lPanel, BorderLayout.WEST);
  20. topPanel.add (rPanel, BorderLayout.CENTER);
  21. botPanel.add (convertButton);
  22. getContentPane ().add (topPanel, BorderLayout.CENTER);
  23. getContentPane ().add (botPanel, BorderLayout.SOUTH);
  24. pack ();
  25. setSize (getPreferredSize ().width, getPreferredSize ().height);
  26. setResizable (true);
  27. // Вывести основное окно в центре экрана монитора
  28. Dimension sSize = Toolkit.getDefaultToolkit ().getScreenSize ();
  29. Dimension fSize = getSize ();
  30. if (fSize.height > sSize.height) fSize.height = sSize.height;
  31. if (fSize.width > sSize.width) fSize.width = sSize.width;
  32. setLocation ((sSize.width - fSize.width)/2, (sSize.height - fSize.height)/2);
  33. setVisible (true);
  34. // Обработчик события нажатия на кнопку "Преобразовать"
  35. convertButton.addActionListener (new ActionListener () {
  36. public void actionPerformed (ActionEvent e) {
  37. // Определить код выбранной валюты из выпадающего списка
  38. String code = currBox.getSelectedItem ().toString ();
  39. // Массив суффиксов - окончаний. Элементы массива:
  40. // 0...5 - строки целой и дробной частей;
  41. // 6 - род валюты (M - мужской, F - женский)
  42. String [] suff = {"", "", "", "", "", "", ""};
  43. // Выбрать из таблицы настроечную информацию,
  44. // касающуюся данной валюты
  45. try {
  46. Statement stmt = conn.createStatement ();
  47. ResultSet rset = stmt.executeQuery ("select i1,i24,i5,r1,r24,r5,Sex from currency where id_currency=" + code);
  48. ResultSetMetaData meta = rset.getMetaData ();
  49. int cols = meta.getColumnCount ();
  50. // Занести настроечную информацию в массив
  51. while (rset.next ()) {
  52. for (int i = 0; i < cols; i++) suff [i] = rset.getString (i + 1);
  53. }
  54. }
  55. catch (SQLException sqle) {
  56. System.out.println ("SQL exception:" + sqle.getMessage ());
  57. System.out.println ("SQLState:" + sqle.getSQLState ());
  58. System.out.println ("VendorError:" + sqle.getErrorCode ());
  59. System.exit (-1);
  60. }
  61. catch (Exception sqle) {sqle.printStackTrace ();}
  62. // Перевести число в строку !!!
  63. new jAmount (suff, summaField.getText ());
  64. }
  65. });
  66.  
  67. addWindowListener (new WindowAdapter () {
  68. public void windowClosing (WindowEvent event) {
  69. System.exit (0);
  70. }
  71. });
  72. }