Fortunatamente sembra la cosa non sia più grande di me visto che ho risolto tutto da solo.
Sono un novellino di java, questo è vero, ma un testardo e se voglio imparare qualcosa non c'è nulla che mi possa fermare.
Quello che tu mi hai suggerito di sicuro funzionerà, forse anche meglio dei miei "addActionListener" che suggerisce Eclipse.
Fatto sta che mi funziona tutto a dovere finalmente.
Il problema, come avevi detto tu tra l'altro, è che l'IDE faceva del lavoro per me, anche quello che non volevo purtroppo.
Per risolvere tutti i miei problemi mi è bastato dichiarare i componenti tipo JLabel o JMenu in testa alla classe e non all'interno dell'inizializzazione. In questo modo sono visibili a tutti. Detto così sembra: "cavolo, era così semplice...", si, adesso che me ne sono accorto è semplice, ma prima grandi incazzamenti...
Grazie comunque a tutti per l'aiuto. Se vi interessa vi faccio vedere la mia soluzione:
codice:package sizingtool; import java.awt.EventQueue; import javax.swing.JFrame; ... public class IR_SizingTool { private JMenu mnFile; <---- Ecco la soluzione private JMenuItem mntmOpen; <---- Ecco la soluzione private JMenuItem mntmExit; <---- Ecco la soluzione private JMenu mnLanguage; <---- Ecco la soluzione private JFrame frmIrSizingTool; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { IR_SizingTool window = new IR_SizingTool(); window.frmIrSizingTool.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the application. */ public IR_SizingTool() { initialize(); } public void changeLanguage(ResourceBundle Messages) { frmIrSizingTool.setTitle(Messages.getString("IR_SizingTool.frmIrSizingTool.title")); mnFile.setText(Messages.getString("IR_SizingTool.mnFile.text")); mnLanguage.setText(Messages.getString("IR_SizingTool.mnLanguage.text")); mntmOpen.setText(Messages.getString("IR_SizingTool.mntmOpen.text_1")); mntmExit.setText(Messages.getString("IR_SizingTool.mntmExit.text")); } /** * Initialize the contents of the frame. */ public void initialize() { try { // Set System L&F UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName()); } catch (UnsupportedLookAndFeelException e) { // handle exception } catch (ClassNotFoundException e) { // handle exception } catch (InstantiationException e) { // handle exception } catch (IllegalAccessException e) { // handle exception } frmIrSizingTool = new JFrame(); frmIrSizingTool.setIconImage(Toolkit.getDefaultToolkit().getImage(IR_SizingTool.class.getResource("/images/IR.PNG"))); frmIrSizingTool.setTitle(Messages.getString("IR_SizingTool.frmIrSizingTool.title")); //$NON-NLS-1$ frmIrSizingTool.setBounds(100, 100, 450, 300); frmIrSizingTool.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frmIrSizingTool.getContentPane().setLayout(null); JMenuBar menuBar = new JMenuBar(); menuBar.setBounds(0, 0, 442, 23); frmIrSizingTool.getContentPane().add(menuBar); Eclipse invece me li dichiarava così : JMenu mnFile = new JMenu(.... qui ----------> mnFile = new JMenu(Messages.getString("IR_SizingTool.mnFile.text_1")); //$NON-NLS-1$ mnFile.setFont(new Font("Dialog", Font.PLAIN, 12)); menuBar.add(mnFile); mntmOpen = new JMenuItem(Messages.getString("IR_SizingTool.mntmOpen.text_1")); mntmOpen.setHorizontalAlignment(SwingConstants.LEFT); mntmOpen.setFont(new Font("Dialog", Font.PLAIN, 12)); mnFile.add(mntmOpen); mntmExit = new JMenuItem(Messages.getString("IR_SizingTool.mntmExit.text")); //$NON-NLS-1$ mntmExit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { System.exit(0); } }); mntmExit.setHorizontalAlignment(SwingConstants.LEFT); mntmExit.setFont(new Font("Dialog", Font.PLAIN, 12)); mnFile.add(mntmExit); mnLanguage = new JMenu(Messages.getString("IR_SizingTool.mnLanguage.text")); //$NON-NLS-1$ mnLanguage.setFont(new Font("Dialog", Font.PLAIN, 12)); menuBar.add(mnLanguage); final JMenuItem mntmEnglish = new JMenuItem(Messages.getString("IR_SizingTool.mntmEnglish.text")); //$NON-NLS-1$ mntmEnglish.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { Locale.setDefault(Locale.ENGLISH); ResourceBundle Messages = ResourceBundle.getBundle("sizingtool.messages"); changeLanguage(Messages); } }); mntmEnglish.setHorizontalAlignment(SwingConstants.LEFT); mntmEnglish.setIcon(new ImageIcon(IR_SizingTool.class.getResource("/images/en.PNG"))); mntmEnglish.setFont(new Font("Dialog", Font.PLAIN, 12)); mnLanguage.add(mntmEnglish); final JMenuItem mntmItalian = new JMenuItem(Messages.getString("IR_SizingTool.mntmItalian.text")); //$NON-NLS-1$ mntmItalian.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { Locale.setDefault(Locale.ITALY); ResourceBundle Messages = ResourceBundle.getBundle("sizingtool.messages"); changeLanguage(Messages); } }); mntmItalian.setHorizontalAlignment(SwingConstants.LEFT); mntmItalian.setIcon(new ImageIcon(IR_SizingTool.class.getResource("/images/it.PNG"))); mntmItalian.setFont(new Font("Dialog", Font.PLAIN, 12)); mnLanguage.add(mntmItalian); JButton btnEnergySavingDryers = new JButton(Messages.getString("IR_SizingTool.btnEnergySavingDryers.text")); //$NON-NLS-1$ btnEnergySavingDryers.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { } }); btnEnergySavingDryers.setBounds(10, 34, 145, 51); frmIrSizingTool.getContentPane().add(btnEnergySavingDryers); } }

.
Rispondi quotando