diff --git a/src/guiconvertibasi/GUIConvertiBasi.form b/src/guiconvertibasi/GUIConvertiBasi.form
index 86b45a1..09c6c90 100644
--- a/src/guiconvertibasi/GUIConvertiBasi.form
+++ b/src/guiconvertibasi/GUIConvertiBasi.form
@@ -26,12 +26,12 @@
-
+
-
+
@@ -49,9 +49,9 @@
-
+
-
+
@@ -74,6 +74,9 @@
+
+
+
@@ -83,12 +86,12 @@
-
+
-
+
diff --git a/src/guiconvertibasi/GUIConvertiBasi.java b/src/guiconvertibasi/GUIConvertiBasi.java
index d839954..940e6c4 100644
--- a/src/guiconvertibasi/GUIConvertiBasi.java
+++ b/src/guiconvertibasi/GUIConvertiBasi.java
@@ -1,14 +1,16 @@
+
+import javax.swing.JOptionPane;
+
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
*/
-
/**
*
* @author Verde
*/
public class GUIConvertiBasi extends javax.swing.JFrame {
-
+
private static final java.util.logging.Logger logger = java.util.logging.Logger.getLogger(GUIConvertiBasi.class.getName());
/**
@@ -30,8 +32,8 @@ public class GUIConvertiBasi extends javax.swing.JFrame {
lblNumeroDaConvertire = new javax.swing.JLabel();
cmbBaseDestinataria = new javax.swing.JComboBox<>();
lblBaseDestinataria = new javax.swing.JLabel();
- txtNumeroConvertito = new javax.swing.JLabel();
- txtNueroConvertito = new javax.swing.JTextField();
+ lblNumeroConvertito = new javax.swing.JLabel();
+ txtNumeroConvertito = new javax.swing.JTextField();
txtNumeroDaConvertire = new javax.swing.JTextField();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
@@ -39,12 +41,13 @@ public class GUIConvertiBasi extends javax.swing.JFrame {
lblNumeroDaConvertire.setText("Numero da convertire");
cmbBaseDestinataria.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Binaria", "Ottale", "Esadecimale", "Vigesimale" }));
+ cmbBaseDestinataria.addItemListener(this::cmbBaseDestinatariaItemStateChanged);
lblBaseDestinataria.setText("Base destinataria");
- txtNumeroConvertito.setText("Numero convertito");
+ lblNumeroConvertito.setText("Numero convertito");
- txtNueroConvertito.setEditable(false);
+ txtNumeroConvertito.setEditable(false);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
@@ -53,12 +56,12 @@ public class GUIConvertiBasi extends javax.swing.JFrame {
.addGroup(layout.createSequentialGroup()
.addGap(32, 32, 32)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(txtNumeroConvertito)
+ .addComponent(lblNumeroConvertito)
.addComponent(lblBaseDestinataria)
.addComponent(lblNumeroDaConvertire, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(txtNumeroDaConvertire)
.addComponent(cmbBaseDestinataria, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(txtNueroConvertito))
+ .addComponent(txtNumeroConvertito))
.addContainerGap(24, Short.MAX_VALUE))
);
layout.setVerticalGroup(
@@ -73,15 +76,57 @@ public class GUIConvertiBasi extends javax.swing.JFrame {
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(cmbBaseDestinataria, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
- .addComponent(txtNumeroConvertito, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(lblNumeroConvertito, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(txtNueroConvertito, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(txtNumeroConvertito, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(39, Short.MAX_VALUE))
);
pack();
}// //GEN-END:initComponents
+ private void cmbBaseDestinatariaItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_cmbBaseDestinatariaItemStateChanged
+ // TODO add your handling code here:
+
+ String testo = txtNumeroDaConvertire.getText().trim();
+ int numero = 0;
+ String scelta;
+ String risultato = null;
+
+ if (testo.isEmpty()) {
+ JOptionPane.showMessageDialog(null, "Inserire un numero.");
+ txtNumeroDaConvertire.setText("");
+ return;
+ }
+
+ try {
+ numero = Integer.parseInt(testo);
+ } catch (NumberFormatException _) {
+ JOptionPane.showMessageDialog(null, "Inserire un numero valido.");
+ txtNumeroDaConvertire.setText("");
+ return;
+ }
+
+ scelta = cmbBaseDestinataria.getSelectedItem().toString();
+
+ switch (scelta) {
+ case "Binaria":
+ risultato = Integer.toBinaryString(numero);
+ break;
+ case "Ottale":
+ risultato = Integer.toOctalString(numero);
+ break;
+ case "Esadecimale":
+ risultato = Integer.toHexString(numero).toUpperCase();
+ break;
+ case "Vigesimale":
+ risultato = Integer.toString(numero, 20).toUpperCase();
+ break;
+ }
+
+ txtNumeroConvertito.setText(risultato);
+ }//GEN-LAST:event_cmbBaseDestinatariaItemStateChanged
+
/**
* @param args the command line arguments
*/
@@ -110,9 +155,9 @@ public class GUIConvertiBasi extends javax.swing.JFrame {
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JComboBox cmbBaseDestinataria;
private javax.swing.JLabel lblBaseDestinataria;
+ private javax.swing.JLabel lblNumeroConvertito;
private javax.swing.JLabel lblNumeroDaConvertire;
- private javax.swing.JTextField txtNueroConvertito;
- private javax.swing.JLabel txtNumeroConvertito;
+ private javax.swing.JTextField txtNumeroConvertito;
private javax.swing.JTextField txtNumeroDaConvertire;
// End of variables declaration//GEN-END:variables
}