Advertisement
Guest User

Untitled

a guest
Mar 30th, 2020
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.71 KB | None | 0 0
  1.  
  2. class PanelWaluta extends JDialog {
  3.  
  4.     private JScrollPane scrollPane;
  5.     public static JTable table;
  6.     private JComboBox comboBoxWaluta;
  7.     private JLabel labelZmiennaWaluta, labelWynikWaluta, labelEqaul, labelAutor;
  8.     private JTextField textFieldZmiennaWaluta, textFieldWynikWaluta;
  9.     private double tempEuro, tempPln, tempGbp;
  10.     private String wynik;
  11.     private String fileName = "Hisoria.txt";
  12.  
  13.     /**
  14.      * @param owner//
  15.      */
  16.     PanelWaluta(JFrame owner) {
  17.         super(owner, "Konwersja Waluty", true);
  18.         setSize(1000, 300);
  19.         setResizable(false);
  20.         setType(Type.UTILITY);
  21.         setLayout(null);
  22.  
  23.         scrollPane = new JScrollPane();
  24.         scrollPane.setBounds(400, 0, 600, 300);
  25.         scrollPane.setBackground(Color.WHITE);
  26.         add(scrollPane);
  27.  
  28.         String[] comboBoxItems = {"EURO_Na_PLN", "PLN_Na_EURO", "GBP_Na_PLN", "PLN_Na_GBP"};
  29.         comboBoxWaluta = new JComboBox(comboBoxItems);
  30.         comboBoxWaluta.setSelectedIndex(0);
  31.         comboBoxWaluta.setBounds(25, 50, 350, 20);
  32.         comboBoxWaluta.setAlignmentX(SwingConstants.CENTER);
  33.         add(comboBoxWaluta);
  34.         comboBoxWaluta.addActionListener(new ActionListener() {
  35.             @Override
  36.             public void actionPerformed(ActionEvent e) {
  37.                 switch (comboBoxWaluta.getSelectedIndex()) {
  38.                     case 0:
  39.                         labelZmiennaWaluta.setText("EURO");
  40.                         labelWynikWaluta.setText("PLN");
  41.                         break;
  42.                     case 1:
  43.                         labelZmiennaWaluta.setText("PLN");
  44.                         labelWynikWaluta.setText("EURO");
  45.                         break;
  46.                     case 2:
  47.                         labelZmiennaWaluta.setText("GBP");
  48.                         labelWynikWaluta.setText("PLN");
  49.                         break;
  50.                     case 3:
  51.                         labelZmiennaWaluta.setText("PLN");
  52.                         labelWynikWaluta.setText("GBP");
  53.                         break;
  54.                 }
  55.                 changeListener(comboBoxWaluta, textFieldWynikWaluta);
  56.             }
  57.         });
  58.  
  59.         labelZmiennaWaluta = new JLabel("EURO");
  60.         labelZmiennaWaluta.setBounds(10, 120, 100, 20);
  61.         labelZmiennaWaluta.setHorizontalTextPosition(JLabel.LEFT);
  62.         labelZmiennaWaluta.setHorizontalAlignment(SwingConstants.LEFT);
  63.         add(labelZmiennaWaluta);
  64.         labelWynikWaluta = new JLabel("PLN");
  65.         labelWynikWaluta.setBounds(280, 120, 100, 20);
  66.         labelWynikWaluta.setHorizontalTextPosition(SwingConstants.RIGHT);
  67.         labelWynikWaluta.setHorizontalAlignment(SwingConstants.RIGHT);
  68.         add(labelWynikWaluta);
  69.         labelEqaul = new JLabel("=");
  70.         labelEqaul.setBounds(160, 140, 50, 20);
  71.         add(labelEqaul);
  72.         labelAutor = new JLabel("Łukasz Flis Inofrmatyka/N");
  73.         labelAutor.setBounds(100, 240, 200, 20);
  74.         add(labelAutor);
  75.  
  76.         textFieldZmiennaWaluta = new JTextField(10);
  77.         textFieldZmiennaWaluta.setBounds(10, 140, 100, 20);
  78.         textFieldZmiennaWaluta.setText("1");
  79.         add(textFieldZmiennaWaluta);
  80.         textFieldZmiennaWaluta.getDocument().addDocumentListener(new DocumentListener() {
  81.             @Override
  82.             public void insertUpdate(DocumentEvent e) {
  83.                 changeListener(comboBoxWaluta, textFieldWynikWaluta);
  84.             }
  85.  
  86.             @Override
  87.             public void removeUpdate(DocumentEvent e) {
  88.                 changeListener(comboBoxWaluta, textFieldWynikWaluta);
  89.             }
  90.  
  91.             @Override
  92.             public void changedUpdate(DocumentEvent e) {
  93.                 changeListener(comboBoxWaluta, textFieldWynikWaluta);
  94.             }
  95.  
  96.         });
  97.         textFieldWynikWaluta = new JTextField(10);
  98.         textFieldWynikWaluta.setBounds(210, 140, 170, 20);
  99.         textFieldWynikWaluta.setHorizontalAlignment(SwingConstants.RIGHT);
  100.         textFieldWynikWaluta.setEditable(false);
  101.         add(textFieldWynikWaluta);
  102.  
  103.         table = new JTable();
  104.         table.setModel(new DefaultTableModel(
  105.                 new Object[][]{},
  106.                 new String[]
  107.                         {"Z", "Na", "Wartość przed", "Wartośc po", "Data", "Czas"}));
  108.         scrollPane.setViewportView(table);
  109.         table.getTableHeader().setResizingAllowed(false);
  110.         table.getTableHeader().setReorderingAllowed(false);
  111.         table.setEnabled(false);
  112.     }
  113.  
  114.     void changeListener(JComboBox comboBoxWaluta, JTextField textField) {
  115.         try {
  116.             switch (comboBoxWaluta.getSelectedIndex()) {
  117.                 case 0:
  118.                     tempEuro = Double.parseDouble(textFieldZmiennaWaluta.getText());
  119.                     tempPln = tempEuro * 4.52;
  120.                     wynik = String.format("%.2f", tempPln);
  121.                     break;
  122.                 case 1:
  123.                     tempPln = Double.parseDouble(textFieldZmiennaWaluta.getText());
  124.                     tempEuro = tempPln / 4.52;
  125.                     wynik = String.format("%.2f", tempEuro);
  126.                     break;
  127.                 case 2:
  128.                     tempGbp = Double.parseDouble(textFieldZmiennaWaluta.getText());
  129.                     tempPln = tempGbp * 4.99;
  130.                     wynik = String.format("%.2f", tempPln);
  131.                     break;
  132.                 case 3:
  133.                     tempPln = Double.parseDouble(textFieldZmiennaWaluta.getText());
  134.                     tempGbp = tempPln / 4.99;
  135.                     wynik = String.format("%.2f", tempGbp);
  136.                     break;
  137.                 default:
  138.                     break;
  139.             }
  140.             textField.setText(wynik);
  141.             DefaultTableModel model = (DefaultTableModel) table.getModel();
  142.             LocalDate date = LocalDate.now();
  143.             LocalTime time = LocalTime.now();
  144.             model.insertRow(0,
  145.                     new Object[] {labelZmiennaWaluta.getText(),
  146.                             labelWynikWaluta.getText(),
  147.                             textFieldZmiennaWaluta.getText(),
  148.                             textFieldWynikWaluta.getText(),date,time}
  149.                             );
  150.  
  151.         } catch(Exception e) {
  152.             textField.setText("Użyj separatora 'kropka'  -> .");
  153.         }
  154.     }
  155.    /* public String zapisTabeli () {
  156.  
  157.         DefaultTableModel model = (DefaultTableModel) table.getModel();
  158.         int nRow = model.getRowCount(), nCol = model.getColumnCount();
  159.         Object [][] tableData = new Object[nRow][nCol];
  160.         for (int i=0; i<nRow; i++) {
  161.           for (int j=0; j<nCol; j++) {
  162.               tableData [i][j] = model.getValueAt(i, j);
  163.           }
  164.         }
  165.         return String.valueOf(tableData);
  166.     }*/
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement