Ciao a tutti, per esercitarmi (sono molto alle prime armi) ho creato un semplice frame con un pulsante, una label e un campo di testo; semplicemente ad ogni click del pulsante cambia lingua del testo (italiano/inglese) delle label e del campo di testo; se lo compilo e lo lancio dall'ambiente BlueJ tutto ok, se invece creo il file jar, il frame si apre ma il pulsante non funziona; se provo lanciare il jar da cmd esce il seguente errore:
main" java.lang.NoClassDefFoundError: Jframe$UnNomeQualsiasi
at Jframe.iniziaFrame(Jframe.java:40)
at Jframe.main(Jframe.java:22)
Caused by: java.lang.ClassNotFoundException: Jframe$UnNomeQualsiasi
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more
Vi giro anche il codice:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class Jframe {
JFrame frame = new JFrame();
JButton button = new JButton("Italiano");
JLabel label = new JLabel ("Hello World");
JTextField textField= new JTextField ("Hello World");
public static void main(String[] args){
Jframe newframe = new Jframe();
newframe.iniziaFrame();
}
public void iniziaFrame(){
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
frame.setSize(500,250);
button.setBounds(175,25,150,25);
label.setHorizontalAlignment( JLabel.CENTER );
label.setBounds(175,75,150,25);
textField.setBounds(175,125,150,25);
textField.setHorizontalAlignment( JTextField.CENTER );
frame.setLayout (null);
frame.add(button);
frame.add(label);
frame.add(textField);
frame.setVisible (true);
UnNomeQualsiasi listener = new UnNomeQualsiasi();
button.addActionListener(listener);
}
public class UnNomeQualsiasi implements ActionListener{
public void actionPerformed (ActionEvent evt){
String attuale=label.getText();
if(attuale=="Hello World"){
button.setText("Inglese");
label.setText("Ciao Mondo");
textField.setText("Ciao Mondo");
}
else{
button.setText("Italiano");
label.setText("Hello World");
textField.setText("Hello World");
}
}
}
}
Ho cercato in rete e qui nel forum, ma non sono riuscito a capire...qualcuno può aiutarmi ?