Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- JavaGuiCodeCreator.java
- /* JavaGuiCodeCreator.java
- *
- * Il codice è commentato e suddiviso "logicamente" per una più facile comprensione
- * e modifica.
- *
- * @author int0x80
- *
- */
- package gui.code.creator;
- /* inizio import per il progetto */
- import java.awt.EventQueue;
- import javax.swing.JFrame;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import javax.swing.JButton;
- import javax.swing.UIManager;
- import javax.swing.border.LineBorder;
- import java.awt.Color;
- import javax.swing.ImageIcon;
- import javax.swing.SwingConstants;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- /* fine import per il progetto */
- public class JavaGuiCodeCreator extends JFrame /* classe contente la grafica del programma */
- {
- private JPanel contentPane; /* variabile privata di tipo JPanel */
- private int frameopened, buttonopened, labelopened, textfieldopened; /* variabile che verifica se una finestra è stata aperta o no */
- public static void main(String[] args) /* il programma inizia dalla funzione main() */
- {
- EventQueue.invokeLater(new Runnable() /* creo una nuova interfaccia di tipo Runnable */
- {
- public void run() /* creo il metodo che avvierà il programma */
- {
- try /* mi assicuro che il programma venga eseguito correttamente, in caso contrario visualizza l'eventuale messaggio di errore */
- {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); /* applico alla finestra il "tema£ del sistema operativo */
- JavaGuiCodeCreator frame = new JavaGuiCodeCreator(); /* istanzio la classe */
- frame.setVisible(true); /* rendo visibile il JFrame */
- } catch (Exception e) { e.printStackTrace(); } /* visualizzo l'errore all'utente */
- }
- }); /* fine programma */
- }
- public JavaGuiCodeCreator() /* GUI */
- {
- initialize(); /* richiamo la funzione */
- }
- private void initialize() /* metodo che inizializza i controlli */
- {
- ImageIcon buttonImage = new ImageIcon(getClass().getResource("/images/next.png")); /* variabile contente l'immagine dei bottoni */
- /* Inizio scrittura codice relativa al form e al JPanl */
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); /* quando l'utente farà click sulla X verrà liberata la memoria della finestra e si chiuderà */
- this.setResizable(false); /* impedisco all'utente di ridimensionare la finestra */
- this.setBounds(700, 300, 450, 300); /* imposto le coordinate x = 700, y = 300 e la grandezza della finestra : width = 450, height = 300 */
- this.setTitle("Java GUI Code Creator - Main"); /* setto il titolo della finestra */
- contentPane = new JPanel(); /* istanzio il JPanel */
- contentPane.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- this.setContentPane(contentPane); /* aggiungi il JPanel al form */
- contentPane.setLayout(null); /* non setto nessuna Layout */
- /* Fine scrittura codice relativa al form e al JPanel */
- /* Inizio scrittura codice relativa ai bottoni */
- /* Inizio scrittura codice relativa al primo JButton */
- JButton jframeButton = new JButton("JFrame"); /* istanzio un nuovo bottone e lo chiamo "JFrame" */
- jframeButton.addActionListener(new ActionListener() /* evento che viene eseguito quando il bottone viene cliccato */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- frameopened++; /* incremento la variabile di 1 */
- JFrameCodeCreator jframeCodeCreator = new JFrameCodeCreator(); /* istanzio la classe JFrameCodeCreator */
- if(frameopened > 1) /* verifico che la variabile sia maggiore di 1, se lo è mostra il messaggio */
- {
- JOptionPane.showMessageDialog(null, "Hai già aperto questa finestra, non puoi aprirne altre", "Errore", JOptionPane.ERROR_MESSAGE); /* visualizzo il messaggio di errore */
- frameopened = 0; /* azzero la variabile */
- }
- else /* altrimenti significa che la finestra non è stata aperta dunque la mostra */
- jframeCodeCreator.main(null); /* richiamo la funzione main nella quale vi è il codice per mostrare la finestra passandogli come argomento NULL, la finestra viene visualizzata */
- }
- });
- jframeButton.setHorizontalAlignment(SwingConstants.LEFT); /* allineo il testo a sinistra */
- jframeButton.setIcon(new ImageIcon(buttonImage.getImage())); /* setto l'immagine del bottone */
- jframeButton.setToolTipText("Clicca per aprire la finestra relativa alla scrittura del codice per il JFrame"); /* quando l'utente lascerà il mouse sul bottone verrà visualizzato questo messaggio */
- jframeButton.setBounds(157, 12, 134, 36); /* imposto le coordinate x = 157, y = 12 e la grandezza della finestra : width = 134, height = 36 */
- contentPane.add(jframeButton); /* aggiungo il bottone sul JPanel */
- /* Fine scrittura codice relativa al primo JButton */
- /* Inizio scrittura codice relativa al secondo JButton */
- JButton jbuttonButton = new JButton("JButton"); /* istanzio un nuovo bottone e lo chiamo "JButton" */
- jbuttonButton.addActionListener(new ActionListener() /* evento che viene eseguito quando il bottone viene cliccato */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- buttonopened++; /* incremento la variabile di 1 */
- JButtonCodeCreator jbuttonCodeCreator = new JButtonCodeCreator(); /* istanzio la classe JFrameCodeCreator */
- if(buttonopened > 1) /* verifico che la variabile sia maggiore di 1, se lo è mostra il messaggio */
- {
- JOptionPane.showMessageDialog(null, "Hai già aperto questa finestra, non puoi aprirne altre", "Errore", JOptionPane.ERROR_MESSAGE); /* visualizzo il messaggio di errore */
- buttonopened = 0; /* azzero la variabile */
- }
- else /* altrimenti significa che la finestra non è stata aperta dunque la mostra */
- jbuttonCodeCreator.main(null); /* richiamo la funzione main nella quale vi è il codice per mostrare la finestra passandogli come argomento NULL, la finestra viene visualizzata */
- }
- });
- jbuttonButton.setHorizontalAlignment(SwingConstants.LEFT); /* allineo il testo a sinistra */
- jbuttonButton.setIcon(new ImageIcon(buttonImage.getImage())); /* setto l'immagine del bottone */
- jbuttonButton.setToolTipText("Clicca per aprire la finestra relativa alla scrittura del codice per il JButton"); /* quando l'utente lascerà il mouse sul bottone verrà visualizzato questo messaggio */
- jbuttonButton.setBounds(157, 60, 134, 36); /* imposto le coordinate x = 157, y = 60 e la grandezza della finestra : width = 134, height = 36 */
- contentPane.add(jbuttonButton); /* aggiungo il bottone sul JPanel */
- /* Fine scrittura codice relativa al secondo JButton */
- /* Inizio scrittura codice relativa al terzo JButton */
- JButton jlabelButton = new JButton("JLabel"); /* istanzio un nuovo bottone e lo chiamo "JLabel" */
- jlabelButton.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- labelopened++; /* incremento la variabile di 1 */
- JLabelCodeCreator jlabelCodeCreator = new JLabelCodeCreator(); /* istanzio la classe JLabelCodeCreator */
- if(labelopened > 1) /* verifico che la variabile sia maggiore di 1, se lo è mostra il messaggio */
- {
- JOptionPane.showMessageDialog(null, "Hai già aperto questa finestra, non puoi aprirne altre", "Errore", JOptionPane.ERROR_MESSAGE); /* visualizzo il messaggio di errore */
- labelopened = 0; /* azzero la variabile */
- }
- else /* altrimenti significa che la finestra non è stata aperta dunque la mostra */
- jlabelCodeCreator.main(null); /* richiamo la funzione main nella quale vi è il codice per mostrare la finestra passandogli come argomento NULL, la finestra viene visualizzata */
- }
- });
- jlabelButton.setHorizontalAlignment(SwingConstants.LEFT); /* allineo il testo a sinistra */
- jlabelButton.setIcon(new ImageIcon(buttonImage.getImage())); /* setto l'immagine del bottone */
- jlabelButton.setToolTipText("Clicca per aprire la finestra relativa alla scrittura del codice per il JLabel"); /* quando l'utente lascerà il mouse sul bottone verrà visualizzato questo messaggio */
- jlabelButton.setBounds(157, 108, 134, 36); /* imposto le coordinate x = 157, y = 108 e la grandezza della finestra : width = 134, height = 36 */
- contentPane.add(jlabelButton); /* aggiungo il bottone sul JPanel */
- /* Fine scrittura codice relativa al terzo JButton */
- /* Inizio scrittura codice relativa al quarto JButton */
- JButton jtextfieldButton = new JButton("JTextField"); /* istanzio un nuovo bottone e lo chiamo "JTextView" */
- jtextfieldButton.addActionListener(new ActionListener()
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- textfieldopened++; /* incremento la variabile di 1 */
- JTextFieldCodeCreator jtextfieldCodeCreator = new JTextFieldCodeCreator(); /* istanzio la classe JTextFieldCodeCreator */
- if(textfieldopened > 1) /* verifico che la variabile sia maggiore di 1, se lo è mostra il messaggio */
- {
- JOptionPane.showMessageDialog(null, "Hai già aperto questa finestra, non puoi aprirne altre", "Errore", JOptionPane.ERROR_MESSAGE); /* visualizzo il messaggio di errore */
- textfieldopened = 0; /* azzero la variabile */
- }
- else /* altrimenti significa che la finestra non è stata aperta dunque la mostra */
- jtextfieldCodeCreator.main(null); /* richiamo la funzione main nella quale vi è il codice per mostrare la finestra passandogli come argomento NULL, la finestra viene visualizzata */
- }
- });
- jtextfieldButton.setHorizontalAlignment(SwingConstants.LEFT); /* allineo il testo a sinistra */
- jtextfieldButton.setIcon(new ImageIcon(buttonImage.getImage())); /* setto l'immagine del bottone */
- jtextfieldButton.setToolTipText("Clicca per aprire la finestra relativa alla scrittura del codice per il JTextView"); /* quando l'utente lascerà il mouse sul bottone verrà visualizzato questo messaggio */
- jtextfieldButton.setBounds(157, 156, 134, 36); /* imposto le coordinate x = 157, y = 156 e la grandezza della finestra : width = 134, height = 36 */
- contentPane.add(jtextfieldButton); /* aggiungo il bottone sul JPanel */
- /* Fine scrittura codice relativa al quarto JButton */
- /* Fine scrittura codice relativa ai bottoni */
- }
- }
- ______________________________________________________________________________________________
- JButtonCodeCreator.java
- package gui.code.creator;
- /* inizio import per il progetto */
- import java.awt.Color;
- import java.awt.EventQueue;
- import java.awt.Toolkit;
- import java.awt.datatransfer.Clipboard;
- import java.awt.datatransfer.StringSelection;
- import java.awt.datatransfer.Transferable;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.ItemEvent;
- import java.awt.event.ItemListener;
- import javax.swing.ImageIcon;
- import javax.swing.JButton;
- import javax.swing.JCheckBox;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JMenu;
- import javax.swing.JMenuBar;
- import javax.swing.JMenuItem;
- import javax.swing.JPanel;
- import javax.swing.JTextPane;
- import javax.swing.SwingConstants;
- import javax.swing.UIManager;
- import javax.swing.border.EtchedBorder;
- import javax.swing.border.LineBorder;
- /* fine import per il progetto */
- public class JButtonCodeCreator extends JFrame /* classe contente la grafica del programma */
- {
- private JPanel contentPane; /* variabile privata di tipo JPanel */
- private boolean cbVisualizzaAnteprimaIsChecked = false; /* variabile privata di tipo boolean che verifica che sa la checkbox VisualizzaAnteprima è selezionata o no */
- private boolean cbaddActionListenerIsChecked = false; /* variabile privata di tipo boolean che verifica che sa la checkbox addActionListener è selezionata o no */
- private boolean cbsetHorizontalAlignmentIsChecked = false; /* variabile privata di tipo boolean che verifica che sa la checkbox setHorizontalAlignment è selezionata o no */
- private boolean cbsetBoundsIsChecked = false; /* variabile privata di tipo boolean che verifica che sa la checkbox setBounds è selezionata o no */
- private boolean cbsetTextIsChecked = false; /* variabile privata di tipo boolean che verifica che sa la checkbox setText è selezionata o no */
- private String addActionListenerString, setHorizontalAlignmentString, setBoundsString, setTextString; /* variabile privata di tipo string */
- public static void main(String[] args) /* il programma inizia dalla funzione main() */
- {
- EventQueue.invokeLater(new Runnable() /* creo una nuova interfaccia di tipo Runnable */
- {
- public void run() /* creo il metodo che avvierà il programma */
- {
- try /* mi assicuro che il programma venga eseguito correttamente, in caso contrario visualizza l'eventuale messaggio di errore */
- {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); /* applico alla finestra il "tema£ del sistema operativo */
- JButtonCodeCreator window = new JButtonCodeCreator(); /* istanzio la classe */
- window.setVisible(true); /* rendo visibile il JFrame */
- } catch (Exception e) { e.printStackTrace(); } /* visualizzo l'errore all'utente */
- }
- }); /* fine programma */
- }
- public JButtonCodeCreator() /* GUI */
- {
- initialize(); /* richiamo il metodo */
- }
- private void initialize() /* metodo che inizializza i controlli */
- {
- /* Inizio scrittura codice relativa al form e al JPanel */
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); /* quando l'utente farà click sulla X verrà liberata la memoria della finestra e si chiuderà */
- this.setResizable(false); /* impedisco all'utente di ridimensionare la finestra */
- this.setBounds(1150, 300, 450, 365); /* imposto le coordinate x = 1150, y = 300 e la grandezza della finestra : width = 450, height = 365 */
- this.setTitle("Java GUI Code Creator - JButton"); /* setto il titolo della finestra */
- contentPane = new JPanel(); /* istanzio il JPanel */
- contentPane.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- this.setContentPane(contentPane); /* aggiungi il JPanel al form */
- contentPane.setLayout(null); /* non setto nessuna Layout */
- /* Fine scrittura codice relativa al form e al JPanel */
- ImageIcon generateImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/genera.png")); /* varabile contenente l'immagine del bottone "Genera codice" */
- ImageIcon copycodeImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/copy.png")); /* varabile contenente l'immagine del bottone "Copia codice" */
- JCheckBox cbVisualizzaAnteprima = new JCheckBox("Visualizza anteprima"); /* istanzio una nuova JCheckBox e la chiamo "Visualizza Anteprima" */
- cbVisualizzaAnteprima.setBounds(264, 8, 174, 22); /* imposto le coordinate x = 264, y = 8 e la grandezza del controllo : width = 174, height = 22 */
- contentPane.add(cbVisualizzaAnteprima); /* aggiungo il controllo al JPanel */
- JLabel lblMetodiJframe = new JLabel("Metodi JFrame"); /* istanzio una nuova JLabel e la chiamo "Metodi JFrame" */
- lblMetodiJframe.setBounds(86, 12, 112, 14); /* imposto le coordinate x = 86, y = 12 e la grandezza del controllo : width = 112, height = 14 */
- contentPane.add(lblMetodiJframe); /* aggiungo il controllo al JPanel */
- final JLabel lblAnteprima = new JLabel("Anteprima"); /* istanzio una nuova JLabel e la chiamo "Anteprima" */
- lblAnteprima.setBounds(334, 38, 82, 14); /* imposto le coordinate x = 334, y = 38 e la grandezza del controllo : width = 82, height = 14 */
- lblAnteprima.setVisible(false); /* rendo invisibile la label */
- contentPane.add(lblAnteprima); /* aggiungo il controllo al JPanel */
- JPanel panelMetodiJFrame = new JPanel(); /* istanzio un nuov JPanel */
- panelMetodiJFrame.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bord del JPanel */
- panelMetodiJFrame.setBounds(12, 27, 252, 120); /* imposto le coordinate x = 12, y = 27 e la grandezza del controllo : width = 252, height = 120 */
- contentPane.add(panelMetodiJFrame); /* aggiungo il controllo al JPanel */
- JCheckBox cbaddActionListener = new JCheckBox(".addActionListener(args) "); /* istanzio una nuovo JCheckBox e la chiamo ".addActionListener(arg)" */
- cbaddActionListener.setToolTipText("Spuntando questo campo l'utente potrà scrivere il codice da eseguire"); /* setto il Tooltip del controllo */
- panelMetodiJFrame.add(cbaddActionListener); /* aggiungo il controllo al panel contenente i metodi del JFrame */
- JCheckBox cbsetHorizontalAlignment = new JCheckBox(".setHorizontalAlignment(args) "); /* istanzio una nuovo JCheckBox e la chiamo ".setHorizontalAlignment(args)", gli spazi sono per allineare la checkbox con le altre */
- cbsetHorizontalAlignment.setHorizontalAlignment(SwingConstants.LEFT); /* setto l'allineamento verso sinistra */
- cbsetHorizontalAlignment.setToolTipText("Spuntando questo campo l'utente potrà scegliere l'allineamento del testo del bottone"); /* setto il Tooltip del controllo */
- panelMetodiJFrame.add(cbsetHorizontalAlignment); /* aggiungo il controllo al al panel contenente i metodi del JFrame */
- JCheckBox cbsetBounds = new JCheckBox(".setBounds(x, y, width, height) "); /* istanzio una nuovo JCheckBox e la chiamo ".setBounds(x, y, width, height)", gli spazi sono per allineare la checkbox con le altre */
- cbsetBounds.setToolTipText("Sputando questo campo l'utente può scegliere la posizione X, Y, la larghezza e l'altezza della finestra"); /* setto il Tooltip del controllo */
- panelMetodiJFrame.add(cbsetBounds); /* aggiungo il controllo al al panel contenente i metodi del JFrame */
- JCheckBox cbsetText = new JCheckBox(".setText(testo) "); /* istanzio una nuovo JCheckBox e la chiamo ".setText(testo)", gli spazi sono per allineare la checkbox con le altre */
- cbsetText.setToolTipText("Spuntando questo campo l'utente potrà scegliere il testo da attribuire al bottone"); /* setto il Tooltip del controllo */
- cbsetText.setHorizontalAlignment(SwingConstants.LEFT); /* setto l'allineamento verso sinistra */
- panelMetodiJFrame.add(cbsetText); /* aggiungo il controllo al al panel contenente i metodi del JFrame */
- final JPanel panelAnteprima = new JPanel(); /* istazio un nuovo JPanel */
- panelAnteprima.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- panelAnteprima.setBounds(314, 52, 120, 82); /* imposto le coordinate x = 314, y = 52 e la grandezza del controllo : width = 120, height = 82 */
- panelAnteprima.setVisible(false); /* rendo invisibile il JPanel */
- contentPane.add(panelAnteprima);
- final JButton btnAnteprima = new JButton("Anteprima"); /* istanzio un nuovo JButton e lo chiamo "Anteprima" */
- panelAnteprima.add(btnAnteprima);/* aggiungo il controllo al JPanel */
- JLabel lblCodiceGenerato = new JLabel("Codice generato"); /* istanzio una nuova JLabel e la chiamo "Codice generato" */
- lblCodiceGenerato.setBounds(75, 170, 120, 14); /* imposto le coordinate x = 75, y = 170 e la grandezza del controllo : width = 120, height = 14 */
- contentPane.add(lblCodiceGenerato); /* aggiungo il controllo al JPanel */
- final JTextPane txtCodice = new JTextPane(); /* istanzio un nuovo JTextPane */
- txtCodice.setForeground(Color.RED); /* setto il colore del testo */
- txtCodice.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null)); /* setto i bordi del controllo */
- txtCodice.setBounds(12, 187, 252, 122); /* imposto le coordinate x = 12, y = 187 e la grandezza del controllo : width = 252, height = 122 */
- contentPane.add(txtCodice); /* aggiungo il controllo al JPanel */
- JButton btnGeneraCodice = new JButton("Genera codice"); /* istanzio un nuovo JButton e lo chiamo "Genera codice" */
- btnGeneraCodice.addActionListener(new ActionListener() /* aggiungo l'evento che genera il codice prendendo le informazioni dagli altri form in cui l'utente ha scelto gli argomenti */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- JButtonaddActionListenerWindow addactionlistener = new JButtonaddActionListenerWindow(); /* istanzio la classe JButtonaddActionListenerWindow */
- addActionListenerString = txtCodice.getText().toString() + addactionlistener.getArgument(); /* la variabile "addActionListenerString" conterrà il codice */
- txtCodice.setText(addActionListenerString); /* setto il testo del JTextPane */
- JButtonsetHorizontalAlignmentWindow sethotizontalalignment = new JButtonsetHorizontalAlignmentWindow(); /* istanzio la classe JButtonsetHorizontalAlignmentWindow */
- setHorizontalAlignmentString = txtCodice.getText().toString() + ".setHorizontalAlignment(" + sethotizontalalignment.getArgument() + ");" + "\n"; /* la variabile "addActionListenerString" conterrà il codice */
- txtCodice.setText(setHorizontalAlignmentString); /* setto il testo del JTextPane */
- JButtonsetBoundsWindow setbounds = new JButtonsetBoundsWindow(); /* istanzio la classe JButtonsetBoundsWindow */
- setBoundsString = txtCodice.getText().toString() + ".setBounds(" + setbounds.getArgument() + ");" + "\n"; /* la variabile "setBoundsString" conterrà il codice */
- txtCodice.setText(setBoundsString); /* setto il testo del JTextPane */
- JButtonsetTextWindow settext = new JButtonsetTextWindow(); /* istanzio la classe JButtonsetTextWindow */
- setTextString = txtCodice.getText().toString() + ".setText(" + settext.getArgument() + ");" + "\n"; /* la variabile "setTextString" conterrà il codice */
- txtCodice.setText(setTextString); /* setto il testo del JTextPane */
- }
- });
- btnGeneraCodice.setHorizontalAlignment(SwingConstants.LEFT); /* setto l'allineamento verso sinistra */
- btnGeneraCodice.setIcon(new ImageIcon(generateImage.getImage())); /* setto l'immagine del bottone */
- btnGeneraCodice.setBounds(276, 209, 162, 24); /* imposto le coordinate x = 276, y = 209 e la grandezza del controllo : width = 162, height = 24 */
- contentPane.add(btnGeneraCodice); /* aggiungo il controllo al JPanel */
- JButton btnCopiaCodice = new JButton("Copia codice"); /* istanzio un nuovo JButton e lo chiamo "Copia codice" */
- btnCopiaCodice.addActionListener(new ActionListener() /* aggiungo l'evento che copia il codice negli appunti */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- Clipboard copy = Toolkit.getDefaultToolkit().getSystemClipboard(); /* rilevo la Clipboard */
- copy.setContents ((Transferable) new StringSelection (txtCodice.getText().toString()), null); /* inserisco in memoria quello che c'è scritto nel JTextPane */
- }
- });
- btnCopiaCodice.setHorizontalAlignment(SwingConstants.LEFT); /* setto l'allineamento verso sinistra */
- btnCopiaCodice.setIcon(new ImageIcon(copycodeImage.getImage())); /* setto l'immagine del bottone */
- btnCopiaCodice.setBounds(276, 256, 162, 24); /* imposto le coordinate x = 276, y = 256 e la grandezza del controllo : width = 162, height = 24 */
- contentPane.add(btnCopiaCodice);/* aggiungo il controllo al JPanel */
- /* Fine scrittura codice relativa al form e al JPanel */
- /* Inizio scrittura codice relativo al JMenuBar */
- ImageIcon firstmenuItemImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/clear.png")); /* variabile contenente l'immagine del primo item della barra dei menù */
- ImageIcon secondmenuItemImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/exit.png")); /* variabile contenente l'immagine del secondo item della barra dei menù */
- JMenuBar menuBar = new JMenuBar(); /* inizializzo la barra dei menù */
- menuBar.setBounds(224, 290, 129, 21); /* imposto le coordinate x = 224, y = 290 e la grandezza del barra menu : width = 129, height = 21 */
- JMenu menu = new JMenu("File"); /* inizializzo un nuovo menu e lo chiamo "JFile" */
- menuBar.add(menu); /* aggiungo il menu alla barra dei menù */
- JMenuItem firstItem = new JMenuItem("Pulisci", firstmenuItemImage); /* inizializzo un nuovo item della menubar chiamandolo "Pulisci" e associandogli la relativa immagine */
- JMenuItem secondItem = new JMenuItem("Chiudi", secondmenuItemImage); /* inizializzo un nuovo item della menubar chiamandolo "Chiudi" e associandogli la relativa immagine */
- firstItem.setHorizontalAlignment(SwingConstants.CENTER); /* imposto la scritta del primo item al centro */
- secondItem.setHorizontalAlignment(SwingConstants.CENTER); /* imposto la scritta del secondo item al centro */
- menu.add(firstItem); /* aggiungo il primo item al menu */
- menu.add(secondItem); /* aggiungo il secondo item al menu */
- this.setJMenuBar(menuBar); /* setto come JMenuBar la barra dei menu finora creata */
- /* Fine scrittura codice relativo al JMenuBar */
- /* Inizio scrittura codice relativo al click degli item dalla barra dei menu */
- firstItem.addActionListener(new ActionListener() /* quando l'utente clicca su "Pulisci" viene pulita la JTextField */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come metodo */
- {
- txtCodice.setText(""); /* setto il testo della JTextPane come "vuoto" */
- }
- });
- secondItem.addActionListener(new ActionListener() /* quando l'utente clicca su "Chiudi" il programma termina */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come metodo */
- {
- System.exit(0); /* restituisce 0 al sistema per indicare che l'applicazione è stata chiusa correttamente e la memoria è stata deallocata */
- }
- });
- /* Fine scrittura codice relativo al click degli item dalla barra dei menu */
- /* Inizio scrittura codice relativa allo stato ( checked, unchecked ) di tutte le CheckBox */
- cbVisualizzaAnteprima.addItemListener(new ItemListener() /* aggiungo l'evento che verifica se la cbVisualizzaAnteprima è spuntata o no */
- {
- public void itemStateChanged(ItemEvent item) /* l'evento viene trattato come un metodo */
- {
- cbVisualizzaAnteprimaIsChecked = (item.getStateChange() == ItemEvent.SELECTED); /* cbVisualizzaAnteprimaIsChecked sarà TRUE se la checkbox è spuntata, FALSE se non lo è */
- if(cbVisualizzaAnteprimaIsChecked) /* equivale a = if( cbVisualizzaAnteprimaIsChecked == true), se la checkbox è stata spuntata visualizza la label e il JPanel */
- {
- lblAnteprima.setVisible(true); /* rendo visibile la label */
- panelAnteprima.setVisible(true); /* rendo visibile il JPanel */
- }
- else /* altrimenti se non è spuntata li nasconde */
- {
- lblAnteprima.setVisible(false); /* rendo invisibile la label */
- panelAnteprima.setVisible(false); /* rendo invisibile il JPanel */
- btnAnteprima.setVisible(false); /* nascondo il bottone relativo all'anteprima */
- }
- }
- });
- cbaddActionListener.addItemListener(new ItemListener() /* aggiungo l'evento che verifica se la cbsetDefaultCloseOperation è spuntata o no */
- {
- public void itemStateChanged(ItemEvent item) /* l'evento viene trattato come un metodo */
- {
- cbaddActionListenerIsChecked = (item.getStateChange() == ItemEvent.SELECTED); /* cbaddActionListenerIsChecked sarà TRUE se la checkbox è spuntata, FALSE se non lo è */
- if(cbaddActionListenerIsChecked) /* equivale a = if( cbaddActionListenerIsChecked == true), se la checkbox è stata spuntata visualizza la finestra relativa al metodo setDefaultCloseOperation */
- {
- JButtonaddActionListenerWindow addactionlistenerwindow = new JButtonaddActionListenerWindow(); /* istanzio la classe JButtonaddActionListenerWindow */
- addactionlistenerwindow.main(null); /* richiamo la funzione main nella quale vi è il codice per mostrare la finestra passandogli come argomento NULL, la finestra viene visualizzata */
- }
- }
- });
- cbsetHorizontalAlignment.addItemListener(new ItemListener() /* aggiungo l'evento che verifica se la cbsetResizable è spuntata o no */
- {
- public void itemStateChanged(ItemEvent item) /* l'evento viene trattato come un metodo */
- {
- cbsetHorizontalAlignmentIsChecked = (item.getStateChange() == ItemEvent.SELECTED); /* cbsetResizableIsChecked sarà TRUE se la checkbox è spuntata, FALSE se non lo è */
- if(cbsetHorizontalAlignmentIsChecked) /* equivale a = if( cbaddActionListenerIsChecked == true), se la checkbox è stata spuntata visualizza la finestra relativa al metodo setResizable */
- {
- JButtonsetHorizontalAlignmentWindow sethorizontalalignmentwindow = new JButtonsetHorizontalAlignmentWindow(); /* istanzio la classe JButtonsetHorizontalAlignmentWindow */
- sethorizontalalignmentwindow.main(null); /* richiamo la funzione main nella quale vi è il codice per mostrare la finestra passandogli come argomento NULL, la finestra viene visualizzata */
- }
- }
- });
- cbsetBounds.addItemListener(new ItemListener() /* aggiungo l'evento che verifica se la cbsetBounds è spuntata o no */
- {
- public void itemStateChanged(ItemEvent item) /* l'evento viene trattato come un metodo */
- {
- cbsetBoundsIsChecked = (item.getStateChange() == ItemEvent.SELECTED); /* cbsetBoundsIsChecked sarà TRUE se la checkbox è spuntata, FALSE se non lo è */
- if(cbsetBoundsIsChecked) /* equivale a = if( cbsetBoundsIsChecked == true), se la checkbox è stata spuntata visualizza la finestra relativa al metodo setBounds */
- {
- JButtonsetBoundsWindow setboundswindow = new JButtonsetBoundsWindow(); /* istanzio la classe JButtonsetBoundsWindow */
- setboundswindow.main(null); /* richiamo la funzione main nella quale vi è il codice per mostrare la finestra passandogli come argomento NULL, la finestra viene visualizzata */
- }
- }
- });
- cbsetText.addItemListener(new ItemListener() /* aggiungo l'evento che verifica se la cbsetTitle è spuntata o no */
- {
- public void itemStateChanged(ItemEvent item) /* l'evento viene trattato come un metodo */
- {
- cbsetTextIsChecked = (item.getStateChange() == ItemEvent.SELECTED); /* cbsetTitleIsChecked sarà TRUE se la checkbox è spuntata, FALSE se non lo è */
- if(cbsetTextIsChecked) /* equivale a = if( cbsetTitleIsChecked == true), se la checkbox è stata spuntata visualizza la finestra relativa al metodo setTitle */
- {
- JButtonsetTextWindow settextwindow = new JButtonsetTextWindow(); /* istanzio la classe JButtonsetTextWindow */
- settextwindow.main(null); /* richiamo la funzione main nella quale vi è il codice per mostrare la finestra passandogli come argomento NULL, la finestra viene visualizzata */
- }
- }
- });
- /* Fine scrittura codice relativa allo stato ( checked, unchecked ) di tutte le CheckBox */
- }
- }
- ______________________________________________________________________________________________
- JButtonaddActionListenerWindow.java
- package gui.code.creator;
- /* inizio import per il progetto */
- import java.awt.Color;
- import java.awt.EventQueue;
- import javax.swing.ImageIcon;
- import javax.swing.JFrame;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import javax.swing.UIManager;
- import javax.swing.border.EtchedBorder;
- import javax.swing.border.LineBorder;
- import javax.swing.JLabel;
- import java.awt.Font;
- import javax.swing.JTextPane;
- import javax.swing.JButton;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- /* fine import per il progetto */
- public class JButtonaddActionListenerWindow extends JFrame /* classe contente la grafica del programma */
- {
- private JPanel contentPane; /* variabile privata di tipo JPanel */
- private static String argument; /* variabile privata di tipo stringa contenente la scelta dell'utente */
- public static void main(String[] args) /* il programma inizia dalla funzione main() */
- {
- EventQueue.invokeLater(new Runnable() /* creo una nuova interfaccia di tipo Runnable */
- {
- public void run() /* creo il metodo che avvierà il programma */
- {
- try /* mi assicuro che il programma venga eseguito correttamente, in caso contrario visualizza l'eventuale messaggio di errore */
- {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); /* applico alla finestra il "tema£ del sistema operativo */
- JButtonaddActionListenerWindow window = new JButtonaddActionListenerWindow(); /* istanzio la classe */
- window.setVisible(true); /* rendo visibile il JFrame */
- } catch (Exception e) { e.printStackTrace(); } /* visualizzo l'errore all'utente */
- }
- }); /* fine programma */
- }
- public JButtonaddActionListenerWindow() /* GUI */
- {
- initialize(); /* richiamo il metodo */
- }
- static String getArgument() /* creo un metodo che mi restituisce la stringa argument */
- {
- return argument; /* ritorno la stringa */
- }
- private void initialize() /* metodo che inizializza i controlli */
- {
- ImageIcon buttonImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/ok.gif")); /* variabile contenente l'immagine del bottone */
- /* Inizio scrittura codice relativa al form e al JPanel */
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); /* quando l'utente farà click sulla X verrà liberata la memoria della finestra e si chiuderà */
- this.setResizable(false); /* impedisco all'utente di ridimensionare la finestra */
- this.setBounds(700, 300, 450, 320); /* imposto le coordinate x = 700, y = 300 e la grandezza della finestra : width = 450, height = 300 */
- this.setTitle("Java GUI Code Creator - .addActionListener"); /* setto il titolo della finestra */
- contentPane = new JPanel(); /* istanzio il JPanel */
- contentPane.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- this.setContentPane(contentPane); /* aggiungi il JPanel al form */
- contentPane.setLayout(null); /* non setto nessuna Layout */
- JLabel lbladdActionListener = new JLabel(".addActionListener(new ActionListener()"); /* istanzio una nuova JLabel e la chiamo ".addActionListener(new ActionListener()" */
- lbladdActionListener.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lbladdActionListener.setBounds(12, 12, 335, 14); /* imposto le coordinate x = 12, y = 12 e la grandezza della finestra : width = 335, height = 14 */
- contentPane.add(lbladdActionListener); /* aggiungo il controllo al JPanel */
- JLabel lblParentesi1 = new JLabel("{"); /* istanzio una nuova JLabel e la chiamo "{" */
- lblParentesi1.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblParentesi1.setBounds(12, 38, 70, 14); /* imposto le coordinate x = 12, y = 38 e la grandezza della finestra : width = 70, height = 14 */
- contentPane.add(lblParentesi1); /* aggiungo il controllo al JPanel */
- final JTextPane txtCodiceUtente = new JTextPane(); /* istanzio un nuovo JTextPane */
- txtCodiceUtente.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null)); /* setto i bordi del controllo */
- txtCodiceUtente.setForeground(Color.RED); /* setto il colore del testo */
- txtCodiceUtente.setBounds(36, 103, 379, 115); /* imposto le coordinate x = 35, y = 103 e la grandezza della finestra : width = 379, height = 115 */
- contentPane.add(txtCodiceUtente); /* aggiungo il controllo al JPanel */
- JLabel lblParentesi2 = new JLabel("}"); /* istanzio una nuova JLabel e la chiamo "}" */
- lblParentesi2.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblParentesi2.setBounds(12, 264, 10, 14); /* imposto le coordinate x = 12, y = 264 e la grandezza della finestra : width = 10, height = 14 */
- contentPane.add(lblParentesi2); /* aggiungo il controllo al JPanel */
- JLabel lblPublicVoidActionperformedactionevent = new JLabel("public void actionPerformed(ActionEvent e)"); /* istanzio una nuova JLabel e la chiamo "public void actionPerformed(ActionEvent e)" */
- lblPublicVoidActionperformedactionevent.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblPublicVoidActionperformedactionevent.setBounds(22, 64, 343, 14); /* imposto le coordinate x = 22, y = 64 e la grandezza della finestra : width = 343, height = 14 */
- contentPane.add(lblPublicVoidActionperformedactionevent); /* aggiungo il controllo al JPanel */
- JLabel lblParentesi3 = new JLabel(" {"); /* istanzio una nuova JLabel e la chiamo "{" */
- lblParentesi3.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblParentesi3.setBounds(12, 90, 70, 14); /* imposto le coordinate x = 12, y = 90 e la grandezza della finestra : width = 70, height = 14 */
- contentPane.add(lblParentesi3); /* aggiungo il controllo al JPanel */
- JLabel lblParentesi4 = new JLabel(" }"); /* istanzio una nuova JLabel e la chiamo "}" */
- lblParentesi4.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblParentesi4.setBounds(12, 230, 70, 14); /* imposto le coordinate x = 12, y = 230 e la grandezza della finestra : width = 70, height = 14 */
- contentPane.add(lblParentesi4); /* aggiungo il controllo al JPanel */
- JButton btnOk = new JButton("Ok"); /* istanzio un nuovo JButton e lo chiamo "Ok" */
- btnOk.addActionListener(new ActionListener() /* aggiungo l'evento che memorizza il codice scritto dall'utente */
- {
- public void actionPerformed(ActionEvent e) /* l'evento è trattato come un metodo */
- {
- argument = ".addActionListener(new ActionListener()\n{\n" + "public void actionPerformed(ActionEvent e)\n{\n" + "\t" + txtCodiceUtente.getText().toString() + "\n" + "}" + "\n" + "}" + "\n" + "});"; /* la variabile "argument" conterrà il codice scritto dall'utente più quello di "default" */
- }
- });
- btnOk.setIcon(new ImageIcon(buttonImage.getImage())); /* setto l'immagine del bottone */
- btnOk.setBounds(323, 259, 92, 24); /* imposto le coordinate x = 323, y = 259 e la grandezza della finestra : width = 92, height = 24 */
- contentPane.add(btnOk); /* aggiungo il controllo al JPanel */
- /* Fine scrittura codice relativa al form e al JPanel */
- }
- }
- ______________________________________________________________________________________________
- JButtonsetBoundsWindow.java
- package gui.code.creator;
- /* inizio import per il progetto */
- import java.awt.Color;
- import java.awt.EventQueue;
- import javax.swing.ImageIcon;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.UIManager;
- import javax.swing.border.LineBorder;
- import javax.swing.JLabel;
- import java.awt.Font;
- import javax.swing.JTextField;
- import javax.swing.JButton;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- /* fine import per il progetto */
- public class JButtonsetBoundsWindow extends JFrame /* classe contente la grafica del programma */
- {
- private JPanel contentPane; /* variabile privata di tipo JPanel */
- private JTextField txtX; /* controllo JTextField */
- private JTextField txtY; /* controllo JTextField */
- private JTextField txtWidth; /* controllo JTextField */
- private JTextField txtHeight; /* controllo JTextField */
- private JButton btnOk; /* controllo JButton */
- private static String argument; /* variabile privata di tipo stringa contenente la scelta dell'utente */
- public static void main(String[] args) /* il programma inizia dalla funzione main() */
- {
- EventQueue.invokeLater(new Runnable() /* creo una nuova interfaccia di tipo Runnable */
- {
- public void run() /* creo il metodo che avvierà il programma */
- {
- try /* mi assicuro che il programma venga eseguito correttamente, in caso contrario visualizza l'eventuale messaggio di errore */
- {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); /* applico alla finestra il "tema£ del sistema operativo */
- JButtonsetBoundsWindow window = new JButtonsetBoundsWindow(); /* istanzio la classe */
- window.setVisible(true); /* rendo visibile il JFrame */
- } catch (Exception e) { e.printStackTrace(); } /* visualizzo l'errore all'utente */
- }
- }); /* fine programma */
- }
- public JButtonsetBoundsWindow() /* GUI */
- {
- initialize(); /* richiamo il metodo */
- }
- static String getArgument() /* creo un metodo che mi restituisce la stringa argument */
- {
- return argument; /* ritorno la stringa */
- }
- private void initialize() /* metodo che inizializza i controlli */
- {
- ImageIcon buttonImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/ok.gif")); /* variabile contenente l'immagine del bottone */
- /* Inizio scrittura codice relativa al form e al JPanel */
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); /* quando l'utente farà click sulla X verrà liberata la memoria della finestra e si chiuderà */
- this.setResizable(false); /* impedisco all'utente di ridimensionare la finestra */
- this.setBounds(650, 400, 380, 120); /* imposto le coordinate x = 700, y = 400 e la grandezza della finestra : width = 380, height = 120 */
- this.setTitle("Java GUI Code Creator - .setBounds"); /* setto il titolo della finestra */
- contentPane = new JPanel(); /* istanzio il JPanel */
- contentPane.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- this.setContentPane(contentPane); /* aggiungi il JPanel al form */
- contentPane.setLayout(null); /* non setto nessuna Layout */
- JLabel lblsetBounds = new JLabel(".setBounds("); /* istanzio una nuova JLabel e la chiamo .setBounds( */
- lblsetBounds.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblsetBounds.setBounds(12, 23, 95, 14); /* imposto le coordinate x = 12, y = 23 e la grandezza della finestra : width = 95 height = 14 */
- contentPane.add(lblsetBounds); /* aggiungo il controllo al JPanel */
- txtX = new JTextField(); /* istanzio una nuova JTextField */
- txtX.setBounds(111, 21, 39, 18); /* imposto le coordinate x = 111, y = 21 e la grandezza della finestra : width = 39 height = 18 */
- contentPane.add(txtX); /* aggiungo il controllo al JPanel */
- JLabel lblVirgola1 = new JLabel(","); /* istanzio una nuova JLabel a la chiamo "," */
- lblVirgola1.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblVirgola1.setBounds(151, 23, 11, 14); /* imposto le coordinate x = 151, y = 23 e la grandezza della finestra : width = 11 height = 14 */
- contentPane.add(lblVirgola1); /* aggiungo il controllo al JPanel */
- txtY = new JTextField(); /* istanzio una nuova JTextField */
- txtY.setBounds(161, 21, 39, 18); /* imposto le coordinate x = 161, y = 21 e la grandezza della finestra : width = 39 height = 18 */
- contentPane.add(txtY); /* aggiungo il controllo al JPanel */
- JLabel lblVirgola2 = new JLabel(","); /* istanzio una nuova JLabel a la chiamo "," */
- lblVirgola2.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblVirgola2.setBounds(201, 23, 11, 14); /* imposto le coordinate x = 201, y = 23 e la grandezza della finestra : width = 11 height = 14 */
- contentPane.add(lblVirgola2); /* aggiungo il controllo al JPanel */
- txtWidth = new JTextField(); /* istanzio una nuova JTextField */
- txtWidth.setBounds(211, 21, 39, 18); /* imposto le coordinate x = 211, y = 21 e la grandezza della finestra : width = 39 height = 18 */
- contentPane.add(txtWidth); /* aggiungo il controllo al JPanel */
- JLabel lblVirgola3 = new JLabel(","); /* istanzio una nuova JLabel a la chiamo "," */
- lblVirgola3.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblVirgola3.setBounds(253, 23, 11, 14); /* imposto le coordinate x = 253, y = 23 e la grandezza della finestra : width = 11 height = 14 */
- contentPane.add(lblVirgola3); /* aggiungo il controllo al JPanel */
- txtHeight = new JTextField(); /* istanzio una nuova JTextField */
- txtHeight.setBounds(263, 21, 39, 18); /* imposto le coordinate x = 263, y = 21 e la grandezza della finestra : width = 39 height = 18 */
- contentPane.add(txtHeight); /* aggiungo il controllo al JPanel */
- JLabel lblParentesi = new JLabel(")"); /* istanzio una nuova JLabel a la chiamo ")" */
- lblParentesi.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblParentesi.setBounds(302, 23, 11, 14); /* imposto le coordinate x = 302, y = 23 e la grandezza della finestra : width = 11 height = 14 */
- contentPane.add(lblParentesi); /* aggiungo il controllo al JPanel */
- btnOk = new JButton("Ok"); /* istanzio un nuovo JButton e lo chiamo "Ok" */
- btnOk.addActionListener(new ActionListener() /* aggiungo l'evento che prenderà la scelta dell'utente dalle JTextField */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- argument = txtX.getText().toString() + "," + txtY.getText().toString() + "," + txtWidth.getText().toString() + "," + txtHeight.getText().toString(); /* la variabile "argument" conterrà la scelta dell'utente */
- }
- });
- btnOk.setIcon(new ImageIcon(buttonImage.getImage())); /* setto l'immagine del bottone */
- btnOk.setBounds(273, 51, 91, 24); /* imposto le coordinate x = 273, y = 51 e la grandezza della finestra : width = 91 height = 24 */
- contentPane.add(btnOk); /* aggiungo il controllo al JPanel */
- /* Fine scrittura codice relativa al form e al JPanel */
- }
- }
- JButtonsetHorizontalAlignmentWindow.java
- package gui.code.creator;
- /* inizio import per il progetto */
- import java.awt.Color;
- import java.awt.EventQueue;
- import javax.swing.ImageIcon;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.UIManager;
- import javax.swing.border.LineBorder;
- import javax.swing.JLabel;
- import java.awt.Font;
- import javax.swing.JComboBox;
- import javax.swing.JButton;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- /* fine import per il progetto */
- public class JButtonsetHorizontalAlignmentWindow extends JFrame /* classe contente la grafica del programma */
- {
- private JPanel contentPane; /* variabile privata di tipo JPanel */
- private static String argument; /* variabile privata di tipo stringa contenente la scelta dell'utente */
- public static void main(String[] args) /* il programma inizia dalla funzione main() */
- {
- EventQueue.invokeLater(new Runnable() /* creo una nuova interfaccia di tipo Runnable */
- {
- public void run() /* creo il metodo che avvierà il programma */
- {
- try /* mi assicuro che il programma venga eseguito correttamente, in caso contrario visualizza l'eventuale messaggio di errore */
- {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); /* applico alla finestra il "tema£ del sistema operativo */
- JButtonsetHorizontalAlignmentWindow window = new JButtonsetHorizontalAlignmentWindow(); /* istanzio la classe */
- window.setVisible(true); /* rendo visibile il JFrame */
- } catch (Exception e) { e.printStackTrace(); } /* visualizzo l'errore all'utente */
- }
- }); /* fine programma */
- }
- public JButtonsetHorizontalAlignmentWindow() /* GUI */
- {
- initialize(); /* richiamo il metodo */
- }
- static String getArgument() /* creo un metodo che mi restituisce la stringa argument */
- {
- return argument; /* ritorno la stringa */
- }
- private void initialize() /* metodo che inizializza i controlli */
- {
- String[] args = {"LEFT", "CENTER", "RIGHT", "BOTTOM", "TOP" }; /* array di stringhe contenente gli argomenti */
- ImageIcon buttonImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/ok.gif")); /* variabile contenente l'immagine del bottone */
- /* Inizio scrittura codice relativa al form e al JPanel */
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); /* quando l'utente farà click sulla X verrà liberata la memoria della finestra e si chiuderà */
- this.setResizable(false); /* impedisco all'utente di ridimensionare la finestra */
- this.setBounds(650, 350, 500, 100); /* imposto le coordinate x = 700, y = 350 e la grandezza della finestra : width = 500, height = 100 */
- this.setTitle("Java GUI Code Creator - setHorizontalAlignment"); /* setto il titolo della finestra */
- contentPane = new JPanel(); /* istanzio il JPanel */
- contentPane.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- this.setContentPane(contentPane); /* aggiungi il JPanel al form */
- contentPane.setLayout(null); /* non setto nessuna Layout */
- JLabel lblsetHorizontalAlignment = new JLabel(".setHorizontalAlignment(SwingConstants.");
- lblsetHorizontalAlignment.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblsetHorizontalAlignment.setBounds(13, 13, 335, 14); /* imposto le coordinate x = 13, y = 13 e la grandezza della finestra : width = 335, height = 14 */
- contentPane.add(lblsetHorizontalAlignment); /* aggiungo il controllo al JPanel */
- final JComboBox cbArgument = new JComboBox(args); /* istanzio una nuova JComboBox e passo l'array "args" come parametro aggiungendo i suoi elementi ad essa */
- cbArgument.setBounds(341, 9, 85, 23); /* imposto le coordinate x = 341, y = 9 e la grandezza della finestra : width = 85, height = 23 */
- contentPane.add(cbArgument); /* aggiungo il controllo al JPanel */
- JLabel lblParentesi = new JLabel(")"); /* istanzio una nuova JLabel e la chiamo ")" */
- lblParentesi.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblParentesi.setBounds(426, 13, 11, 14); /* imposto le coordinate x = 426, y = 13 e la grandezza della finestra : width = 11, height = 14 */
- contentPane.add(lblParentesi); /* aggiungo il controllo al JPanel */
- JButton btnOk = new JButton("Ok"); /* istanzio un nuovo JButton e lo chiamo "Ok" */
- btnOk.addActionListener(new ActionListener()/* aggiungo l'evento che prenderà la scelta dell'utente dalla JComboBox */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- argument = cbArgument.getSelectedItem().toString(); /* la variabile "argument" conterrà la scelta dell'utente */
- }
- });
- btnOk.setIcon(new ImageIcon(buttonImage.getImage())); /* setto l'immagine del bottone */
- btnOk.setBounds(399, 41, 85, 24); /* imposto le coordinate x = 399, y = 41 e la grandezza della finestra : width = 85, height = 24 */
- contentPane.add(btnOk);/* aggiungo il controllo al JPanel */
- /* Fine scrittura codice relativa al form e al JPanel */
- }
- }
- ______________________________________________________________________________________________
- JButtonsetTextWindow.java
- package gui.code.creator;
- /* inizio import per il progetto */
- import java.awt.Color;
- import java.awt.EventQueue;
- import javax.swing.ImageIcon;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.UIManager;
- import javax.swing.border.LineBorder;
- import javax.swing.JLabel;
- import java.awt.Font;
- import javax.swing.JTextField;
- import javax.swing.JButton;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- /* fine import per il progetto */
- public class JButtonsetTextWindow extends JFrame /* classe contente la grafica del programma */
- {
- private JPanel contentPane; /* controllo JPanel */
- private JTextField txtTesto; /* controllo JTextField */
- private JButton btnOk;/* variabile privata di tipo JPanel */
- private static String argument; /* variabile privata di tipo stringa contenente la scelta dell'utente */
- public static void main(String[] args) /* il programma inizia dalla funzione main() */
- {
- EventQueue.invokeLater(new Runnable() /* creo una nuova interfaccia di tipo Runnable */
- {
- public void run() /* creo il metodo che avvierà il programma */
- {
- try /* mi assicuro che il programma venga eseguito correttamente, in caso contrario visualizza l'eventuale messaggio di errore */
- {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); /* applico alla finestra il "tema£ del sistema operativo */
- JButtonsetTextWindow window = new JButtonsetTextWindow(); /* istanzio la classe */
- window.setVisible(true); /* rendo visibile il JFrame */
- } catch (Exception e) { e.printStackTrace(); } /* visualizzo l'errore all'utente */
- }
- }); /* fine programma */
- }
- public JButtonsetTextWindow() /* GUI */
- {
- initialize(); /* richiamo il metodo */
- }
- static String getArgument() /* creo un metodo che mi restituisce la stringa argument */
- {
- return argument; /* ritorno la stringa */
- }
- private void initialize() /* metodo che inizializza i controlli */
- {
- ImageIcon buttonImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/ok.gif")); /* variabile contenente l'immagine del bottone */
- /* Inizio scrittura codice relativa al form e al JPanel */
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); /* quando l'utente farà click sulla X verrà liberata la memoria della finestra e si chiuderà */
- this.setResizable(false); /* impedisco all'utente di ridimensionare la finestra */
- this.setBounds(650, 450, 380, 120); /* imposto le coordinate x = 700, y = 450 e la grandezza della finestra : width = 380, height = 120 */
- this.setTitle("Java GUI Code Creator - .setText"); /* setto il titolo della finestra */
- contentPane = new JPanel(); /* istanzio il JPanel */
- contentPane.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- this.setContentPane(contentPane); /* aggiungi il JPanel al form */
- contentPane.setLayout(null); /* non setto nessuna Layout */
- JLabel lblSetTitle = new JLabel(".setText("); /* istanzio una nuova JLabel e la chiamo ".setTitle(" */
- lblSetTitle.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblSetTitle.setBounds(12, 12, 76, 14); /* imposto le coordinate x = 12, y = 12 e la grandezza della finestra : width = 76, height = 14 */
- contentPane.add(lblSetTitle); /* aggiungo il controllo al JPanel */
- txtTesto = new JTextField(); /* istanzio una nuova JTextField */
- txtTesto.setBounds(84, 10, 157, 18); /* imposto le coordinate x = 84, y = 10 e la grandezza della finestra : width = 157, height = 18 */
- contentPane.add(txtTesto); /* aggiungo il controllo al JPanel */
- JLabel lblParentesi = new JLabel(")"); /* istanzio una nuova JLabel e la chiamo ")" */
- lblParentesi.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblParentesi.setBounds(243, 12, 76, 14); /* imposto le coordinate x = 243, y = 12 e la grandezza della finestra : width = 76, height = 14 */
- contentPane.add(lblParentesi); /* aggiungo il controllo al JPanel */
- btnOk = new JButton("Ok"); /* istanzio un nuovo JButton e lo chiamo "Ok" */
- btnOk.addActionListener(new ActionListener() /* aggiungo l'evento che prenderà la scelta dell'utente dalla JTextField */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- argument = "\"" + txtTesto.getText().toString() + "\""; /* la variabile "argument" conterrà la scelta dell'utente */
- }
- });
- btnOk.setIcon(new ImageIcon(buttonImage.getImage())); /* setto l'immagine del bottone */
- btnOk.setBounds(222, 40, 82, 24); /* imposto le coordinate x = 222, y = 40 e la grandezza della finestra : width = 82, height = 24 */
- contentPane.add(btnOk); /* aggiungo il controllo al JPanel */
- /* Fine scrittura codice relativa al form e al JPanel */
- }
- }
- ______________________________________________________________________________________________
- JFrameCodeCreator.java
- package gui.code.creator;
- /* inizio import per il progetto */
- import java.awt.Color;
- import java.awt.EventQueue;
- import java.awt.Toolkit;
- import java.awt.datatransfer.Clipboard;
- import java.awt.datatransfer.StringSelection;
- import java.awt.datatransfer.Transferable;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.ItemEvent;
- import java.awt.event.ItemListener;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.border.LineBorder;
- import javax.swing.ImageIcon;
- import javax.swing.JMenu;
- import javax.swing.JMenuBar;
- import javax.swing.JMenuItem;
- import javax.swing.SwingConstants;
- import javax.swing.JCheckBox;
- import javax.swing.JLabel;
- import javax.swing.JButton;
- import javax.swing.JTextPane;
- import javax.swing.UIManager;
- import javax.swing.border.EtchedBorder;
- /* fine import per il progetto */
- public class JFrameCodeCreator extends JFrame /* classe contente la grafica del programma */
- {
- private JPanel contentPane; /* variabile privata di tipo JPanel */
- private boolean cbVisualizzaAnteprimaIsChecked = false; /* variabile privata di tipo boolean che verifica che sa la checkbox VisualizzaAnteprima è selezionata o no */
- private boolean cbsetDefaultCloseOperationIsChecked = false; /* variabile privata di tipo boolean che verifica che sa la checkbox setDefaultCloseOperation è selezionata o no */
- private boolean cbsetResizableIsChecked = false; /* variabile privata di tipo boolean che verifica che sa la checkbox setResizable è selezionata o no */
- private boolean cbsetBoundsIsChecked = false; /* variabile privata di tipo boolean che verifica che sa la checkbox setBounds è selezionata o no */
- private boolean cbsetTitleIsChecked = false; /* variabile privata di tipo boolean che verifica che sa la checkbox setTitle è selezionata o no */
- private String setDefaultCloseOperationString, setResizableString, setBoundsString, setTitleString; /* variabili private di tipo string che contengono la scelta dell'utente */
- public static void main(String[] args) /* il programma inizia dalla funzione main() */
- {
- EventQueue.invokeLater(new Runnable() /* creo una nuova interfaccia di tipo Runnable */
- {
- public void run() /* creo il metodo che avvierà il programma */
- {
- try /* mi assicuro che il programma venga eseguito correttamente, in caso contrario visualizza l'eventuale messaggio di errore */
- {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); /* applico alla finestra il "tema" del sistema operativo */
- JFrameCodeCreator window = new JFrameCodeCreator(); /* istanzio la classe */
- window.setVisible(true); /* rendo visibile il JFrame */
- } catch (Exception e) { e.printStackTrace(); } /* visualizzo l'errore all'utente */
- }
- }); /* fine programma */
- }
- public JFrameCodeCreator() /* GUI */
- {
- initialize(); /* richiamo il metodo */
- }
- private void initialize() /* metodo che inizializza i controlli */
- {
- /* Inizio scrittura codice relativa al form e al JPanel */
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); /* quando l'utente farà click sulla X verrà liberata la memoria della finestra e si chiuderà */
- this.setResizable(false); /* impedisco all'utente di ridimensionare la finestra */
- this.setBounds(250, 300, 450, 365); /* imposto le coordinate x = 250, y = 300 e la grandezza della finestra : width = 450, height = 365 */
- this.setTitle("Java GUI Code Creator - JFrame"); /* setto il titolo della finestra */
- contentPane = new JPanel(); /* istanzio il JPanel */
- contentPane.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- this.setContentPane(contentPane); /* aggiungi il JPanel al form */
- contentPane.setLayout(null); /* non setto nessuna layout */
- ImageIcon generateImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/genera.png")); /* varabile contenente l'immagine del bottone "Genera codice" */
- ImageIcon copycodeImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/copy.png")); /* varabile contenente l'immagine del bottone "Copia codice" */
- JCheckBox cbVisualizzaAnteprima = new JCheckBox("Visualizza anteprima"); /* istanzio una nuova JCheckBox e la chiamo "Visualizza Anteprima" */
- cbVisualizzaAnteprima.setBounds(264, 8, 174, 22); /* imposto le coordinate x = 264, y = 8 e la grandezza del controllo : width = 174, height = 22 */
- contentPane.add(cbVisualizzaAnteprima); /* aggiungo il controllo al JPanel */
- JLabel lblMetodiJframe = new JLabel("Metodi JFrame"); /* istanzio una nuova JLabel e la chiamo "Metodi JFrame" */
- lblMetodiJframe.setBounds(86, 12, 112, 14); /* imposto le coordinate x = 86, y = 12 e la grandezza del controllo : width = 112, height = 14 */
- contentPane.add(lblMetodiJframe); /* aggiungo il controllo al JPanel */
- final JLabel lblAnteprima = new JLabel("Anteprima"); /* istanzio una nuova JLabel e la chiamo "Anteprima" */
- lblAnteprima.setBounds(334, 38, 82, 14); /* imposto le coordinate x = 334, y = 38 e la grandezza del controllo : width = 82, height = 14 */
- lblAnteprima.setVisible(false); /* rendo invisibile la label */
- contentPane.add(lblAnteprima); /* aggiungo il controllo al JPanel */
- JPanel panelMetodiJFrame = new JPanel(); /* istanzio un nuov JPanel */
- panelMetodiJFrame.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bord del JPanel */
- panelMetodiJFrame.setBounds(12, 27, 252, 120); /* imposto le coordinate x = 12, y = 27 e la grandezza del controllo : width = 252, height = 120 */
- contentPane.add(panelMetodiJFrame); /* aggiungo il controllo al JPanel */
- JCheckBox cbsetDefaultCloseOperation = new JCheckBox(".setDefaultCloseOperation(arg)"); /* istanzio una nuovo JCheckBox e la chiamo ".setDefaultCloseOperation(arg)" */
- cbsetDefaultCloseOperation.setToolTipText("Spuntando questo campo quando l'utente cliccherà sulla X il programma si chiuderà correttamente"); /* setto il Tooltip del controllo */
- panelMetodiJFrame.add(cbsetDefaultCloseOperation); /* aggiungo il controllo al panel contenente i metodi del JFrame */
- JCheckBox cbsetResizable = new JCheckBox(".setResizable(true/false) "); /* istanzio una nuovo JCheckBox e la chiamo ".setResizable(true/false)", gli spazi sono per allineare la checkbox con le altre */
- cbsetResizable.setHorizontalAlignment(SwingConstants.LEFT); /* setto l'allineamento verso sinistra */
- cbsetResizable.setToolTipText("Spuntando questo campo l'utente potrà/non potrà ridimensionare la finestra"); /* setto il Tooltip del controllo */
- panelMetodiJFrame.add(cbsetResizable); /* aggiungo il controllo al al panel contenente i metodi del JFrame */
- JCheckBox cbsetBounds = new JCheckBox(".setBounds(x, y, width, height) "); /* istanzio una nuovo JCheckBox e la chiamo ".setBounds(x, y, width, height)", gli spazi sono per allineare la checkbox con le altre */
- cbsetBounds.setToolTipText("Sputando questo campo l'utente può scegliere la posizione X, Y, la larghezza e l'altezza della finestra"); /* setto il Tooltip del controllo */
- panelMetodiJFrame.add(cbsetBounds); /* aggiungo il controllo al al panel contenente i metodi del JFrame */
- JCheckBox cbsetTitle = new JCheckBox(".setTitle(titolo) "); /* istanzio una nuovo JCheckBox e la chiamo ".setTitle(titolo)", gli spazi sono per allineare la checkbox con le altre */
- cbsetTitle.setToolTipText("Spuntando questo campo l'utente potrà/non potrà ridimensionare la finestra"); /* setto il Tooltip del controllo */
- cbsetTitle.setHorizontalAlignment(SwingConstants.LEFT); /* setto l'allineamento verso sinistra */
- panelMetodiJFrame.add(cbsetTitle); /* aggiungo il controllo al al panel contenente i metodi del JFrame */
- final JPanel panelAnteprima = new JPanel(); /* istazio un nuovo JPanel */
- panelAnteprima.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- panelAnteprima.setBounds(314, 52, 120, 82); /* imposto le coordinate x = 314, y = 52 e la grandezza del controllo : width = 120, height = 82 */
- panelAnteprima.setVisible(false); /* rendo invisibile il JPanel */
- contentPane.add(panelAnteprima);/* aggiungo il controllo al JPanel */
- JLabel lblCodiceGenerato = new JLabel("Codice generato"); /* istanzio una nuova JLabel e la chiamo "Codice generato" */
- lblCodiceGenerato.setBounds(75, 170, 120, 14); /* imposto le coordinate x = 75, y = 170 e la grandezza del controllo : width = 120, height = 14 */
- contentPane.add(lblCodiceGenerato); /* aggiungo il controllo al JPanel */
- final JTextPane txtCodice = new JTextPane(); /* istanzio un nuovo JTextPane */
- txtCodice.setForeground(Color.RED); /* setto il colore del testo */
- txtCodice.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null)); /* setto i bordi del controllo */
- txtCodice.setBounds(12, 187, 252, 122); /* imposto le coordinate x = 12, y = 187 e la grandezza del controllo : width = 252, height = 122 */
- contentPane.add(txtCodice); /* aggiungo il controllo al JPanel */
- JButton btnGeneraCodice = new JButton("Genera codice"); /* istanzio un nuovo JButton e lo chiamo "Genera codice" */
- btnGeneraCodice.addActionListener(new ActionListener() /* aggiungo l'evento che genera il codice prendendo le informazioni dagli altri form in cui l'utente ha scelto gli argomenti */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- JFramesetDefaultCloseOperationWindow setdefaultcloseoperationwindow = new JFramesetDefaultCloseOperationWindow(); /* istanzio la classe JFramesetDefaultCloseOperationWindow */
- setDefaultCloseOperationString = txtCodice.getText().toString() + "this.setDefaultCloseOperation(JFrame." + setdefaultcloseoperationwindow.getArgument() + ");" + "\n"; /* la variabile setDefaultCloseOperationString conterrà quanto scritto nel JTextPane + il codice preimpostato + quello che l'utente ha scelto quando si è aperto il form relativo alla scelta dell'argomento del metodo setDefaultCloseOperation */
- txtCodice.setText(setDefaultCloseOperationString); /* inserisco nel JTextPane la stringa setDefaultCloseOperationString che corrisponde al codice */
- JFramesetResizableWindow setresizablewindow = new JFramesetResizableWindow(); /* istanzio la classe JFramesetResizableWindow */
- setResizableString = txtCodice.getText().toString() + "this.setResizable(" + setresizablewindow.getArgument() + ");" + "\n"; /* la variabile setResizableString conterrà quanto scritto nel JTextPane + il codice preimpostato + quello che l'utente ha scelto quando si è aperto il form relativo alla scelta dell'argomento del metodo setResizable */
- txtCodice.setText(setResizableString); /* inserisco nel JTextPane la stringa setResizableString che corrisponde al codice */
- JFramesetBoundsWindow setboundswindow = new JFramesetBoundsWindow(); /* istanzio la classe JFramesetBoundsWindow */
- setBoundsString = txtCodice.getText().toString() + "this.setBounds(" + setboundswindow.getArgument() + ");" + "\n"; /* la variabile setBoundsString conterrà quanto scritto nel JTextPane + il codice preimpostato + quello che l'utente ha scelto quando si è aperto il form relativo alla scelta dell'argomento del metodo setBounds */
- txtCodice.setText(setBoundsString); /* inserisco nel JTextPane la stringa setBoundsString che corrisponde al codice */
- JFramesetTitleWindow settitlewindow = new JFramesetTitleWindow(); /* istanzio la classe JFramesetTitleWindow */
- setTitleString = txtCodice.getText().toString() + "this.setTitle(" + settitlewindow.getArgument() + ");" + "\n"; /* la variabile setTitleString conterrà quanto scritto nel JTextPane + il codice preimpostato + quello che l'utente ha scelto quando si è aperto il form relativo alla scelta dell'argomento del metodo setTitle */
- txtCodice.setText(setTitleString); /* inserisco nel JTextPane la stringa setTitleString che corrisponde al codice */
- }
- });
- btnGeneraCodice.setHorizontalAlignment(SwingConstants.LEFT); /* setto l'allineamento verso sinistra */
- btnGeneraCodice.setIcon(new ImageIcon(generateImage.getImage())); /* setto l'immagine del bottone */
- btnGeneraCodice.setBounds(276, 209, 162, 24); /* imposto le coordinate x = 276, y = 209 e la grandezza del controllo : width = 162, height = 24 */
- contentPane.add(btnGeneraCodice); /* aggiungo il controllo al JPanel */
- JButton btnCopiaCodice = new JButton("Copia codice"); /* istanzio un nuovo JButton e lo chiamo "Copia codice" */
- btnCopiaCodice.addActionListener(new ActionListener() /* aggiungo l'evento che copia il codice negli appunti */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- Clipboard copy = Toolkit.getDefaultToolkit ().getSystemClipboard(); /* rilevo la Clipboard */
- copy.setContents ((Transferable) new StringSelection (txtCodice.getText().toString()), null); /* inserisco in memoria quello che c'è scritto nel JTextPane */
- }
- });
- btnCopiaCodice.setHorizontalAlignment(SwingConstants.LEFT); /* setto l'allineamento verso sinistra */
- btnCopiaCodice.setIcon(new ImageIcon(copycodeImage.getImage())); /* setto l'immagine del bottone */
- btnCopiaCodice.setBounds(276, 256, 162, 24); /* imposto le coordinate x = 276, y = 256 e la grandezza del controllo : width = 162, height = 24 */
- contentPane.add(btnCopiaCodice);/* aggiungo il controllo al JPanel */
- /* Fine scrittura codice relativa al form e al JPanel */
- /* Inizio scrittura codice relativo al JMenuBar */
- ImageIcon firstmenuItemImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/clear.png")); /* variabile contenente l'immagine del primo item della barra dei menù */
- ImageIcon secondmenuItemImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/exit.png")); /* variabile contenente l'immagine del secondo item della barra dei menù */
- JMenuBar menuBar = new JMenuBar(); /* inizializzo la barra dei menù */
- menuBar.setBounds(224, 290, 129, 21); /* imposto le coordinate x = 224, y = 290 e la grandezza del barra menu : width = 129, height = 21 */
- JMenu menu = new JMenu("File"); /* inizializzo un nuovo menu e lo chiamo "JFile" */
- menuBar.add(menu); /* aggiungo il menu alla barra dei menù */
- JMenuItem firstItem = new JMenuItem("Pulisci", firstmenuItemImage); /* inizializzo un nuovo item della menubar chiamandolo "Pulisci" e associandogli la relativa immagine */
- JMenuItem secondItem = new JMenuItem("Chiudi", secondmenuItemImage); /* inizializzo un nuovo item della menubar chiamandolo "Chiudi" e associandogli la relativa immagine */
- firstItem.setHorizontalAlignment(SwingConstants.CENTER); /* imposto la scritta del primo item al centro */
- secondItem.setHorizontalAlignment(SwingConstants.CENTER); /* imposto la scritta del secondo item al centro */
- menu.add(firstItem); /* aggiungo il primo item al menu */
- menu.add(secondItem); /* aggiungo il secondo item al menu */
- this.setJMenuBar(menuBar); /* setto come JMenuBar la barra dei menu finora creata */
- /* Fine scrittura codice relativo al JMenuBar */
- /* Inizio scrittura codice relativo al click degli item dalla barra dei menu */
- firstItem.addActionListener(new ActionListener() /* quando l'utente clicca su "Pulisci" viene pulita la JTextField */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come metodo */
- {
- txtCodice.setText(""); /* setto il testo della JTextPane come "vuoto" */
- }
- });
- secondItem.addActionListener(new ActionListener() /* quando l'utente clicca su "Chiudi" il programma termina */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come metodo */
- {
- System.exit(0); /* restituisce 0 al sistema per indicare che l'applicazione è stata chiusa correttamente e la memoria è stata deallocata */
- }
- });
- /* Fine scrittura codice relativo al click degli item dalla barra dei menu */
- /* Inizio scrittura codice relativa allo stato ( checked, unchecked ) di tutte le CheckBox */
- cbVisualizzaAnteprima.addItemListener(new ItemListener() /* aggiungo l'evento che verifica se la cbVisualizzaAnteprima è spuntata o no */
- {
- public void itemStateChanged(ItemEvent item) /* l'evento viene trattato come un metodo */
- {
- cbVisualizzaAnteprimaIsChecked = (item.getStateChange() == ItemEvent.SELECTED); /* cbVisualizzaAnteprimaIsChecked sarà TRUE se la checkbox è spuntata, FALSE se non lo è */
- if(cbVisualizzaAnteprimaIsChecked) /* equivale a = if( cbVisualizzaAnteprimaIsChecked == true), se la checkbox è stata spuntata visualizza la label e il JPanel */
- {
- lblAnteprima.setVisible(true); /* rendo visibile la label */
- panelAnteprima.setVisible(true); /* rendo visibile il JPanel */
- }
- else /* altrimenti se non è spuntata li nasconde */
- {
- lblAnteprima.setVisible(false); /* rendo invisibile la label */
- panelAnteprima.setVisible(false); /* rendo invisibile il JPanel */
- }
- }
- });
- cbsetDefaultCloseOperation.addItemListener(new ItemListener() /* aggiungo l'evento che verifica se la cbsetDefaultCloseOperation è spuntata o no */
- {
- public void itemStateChanged(ItemEvent item) /* l'evento viene trattato come un metodo */
- {
- cbsetDefaultCloseOperationIsChecked = (item.getStateChange() == ItemEvent.SELECTED); /* cbsetDefaultCloseOperationIsChecked sarà TRUE se la checkbox è spuntata, FALSE se non lo è */
- if(cbsetDefaultCloseOperationIsChecked) /* equivale a = if( cbsetDefaultCloseOperationIsChecked == true), se la checkbox è stata spuntata visualizza la finestra relativa al metodo setDefaultCloseOperation */
- {
- JFramesetDefaultCloseOperationWindow setdefaultcloseoperation = new JFramesetDefaultCloseOperationWindow(); /* istanzio la classe setDefaultCloseOperationWindow */
- setdefaultcloseoperation.main(null); /* richiamo la funzione main nella quale vi è il codice per mostrare la finestra passandogli come argomento NULL, la finestra viene visualizzata */
- }
- }
- });
- cbsetResizable.addItemListener(new ItemListener() /* aggiungo l'evento che verifica se la cbsetResizable è spuntata o no */
- {
- public void itemStateChanged(ItemEvent item) /* l'evento viene trattato come un metodo */
- {
- cbsetResizableIsChecked = (item.getStateChange() == ItemEvent.SELECTED); /* cbsetResizableIsChecked sarà TRUE se la checkbox è spuntata, FALSE se non lo è */
- if(cbsetResizableIsChecked) /* equivale a = if( cbsetDefaultCloseOperationIsChecked == true), se la checkbox è stata spuntata visualizza la finestra relativa al metodo setResizable */
- {
- JFramesetResizableWindow setresizablewindow = new JFramesetResizableWindow(); /* istanzio la classe setResizableWindow */
- setresizablewindow.main(null); /* richiamo la funzione main nella quale vi è il codice per mostrare la finestra passandogli come argomento NULL, la finestra viene visualizzata */
- }
- }
- });
- cbsetBounds.addItemListener(new ItemListener() /* aggiungo l'evento che verifica se la cbsetBounds è spuntata o no */
- {
- public void itemStateChanged(ItemEvent item) /* l'evento viene trattato come un metodo */
- {
- cbsetBoundsIsChecked = (item.getStateChange() == ItemEvent.SELECTED); /* cbsetBoundsIsChecked sarà TRUE se la checkbox è spuntata, FALSE se non lo è */
- if(cbsetBoundsIsChecked) /* equivale a = if( cbsetBoundsIsChecked == true), se la checkbox è stata spuntata visualizza la finestra relativa al metodo setBounds */
- {
- JFramesetBoundsWindow setboundswindow = new JFramesetBoundsWindow(); /* istanzio la classe setBoundsWindow */
- setboundswindow.main(null); /* richiamo la funzione main nella quale vi è il codice per mostrare la finestra passandogli come argomento NULL, la finestra viene visualizzata */
- }
- }
- });
- cbsetTitle.addItemListener(new ItemListener() /* aggiungo l'evento che verifica se la cbsetTitle è spuntata o no */
- {
- public void itemStateChanged(ItemEvent item) /* l'evento viene trattato come un metodo */
- {
- cbsetTitleIsChecked = (item.getStateChange() == ItemEvent.SELECTED); /* cbsetTitleIsChecked sarà TRUE se la checkbox è spuntata, FALSE se non lo è */
- if(cbsetTitleIsChecked) /* equivale a = if( cbsetTitleIsChecked == true), se la checkbox è stata spuntata visualizza la finestra relativa al metodo setTitle */
- {
- JFramesetTitleWindow settitlewindow = new JFramesetTitleWindow(); /* istanzio la classe setTitleWindow */
- settitlewindow.main(null); /* richiamo la funzione main nella quale vi è il codice per mostrare la finestra passandogli come argomento NULL, la finestra viene visualizzata */
- }
- }
- });
- /* Fine scrittura codice relativa allo stato ( checked, unchecked ) di tutte le CheckBox */
- }
- }
- ______________________________________________________________________________________________
- JFramesetBoundsWindow.java
- package gui.code.creator;
- /* inizio import per il progetto */
- import java.awt.Color;
- import java.awt.EventQueue;
- import javax.swing.ImageIcon;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.UIManager;
- import javax.swing.border.LineBorder;
- import javax.swing.JLabel;
- import java.awt.Font;
- import javax.swing.JTextField;
- import javax.swing.JButton;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- /* fine import per il progetto */
- public class JFramesetBoundsWindow extends JFrame /* classe contente la grafica del programma */
- {
- private JPanel contentPane; /* variabile privata di tipo JPanel */
- private JTextField txtX; /* controllo JTextField */
- private JTextField txtY; /* controllo JTextField */
- private JTextField txtWidth; /* controllo JTextField */
- private JTextField txtHeight; /* controllo JTextField */
- private JButton btnOk; /* controllo JButton */
- private static String argument; /* variabile privata di tipo stringa contenente la scelta dell'utente */
- public static void main(String[] args) /* il programma inizia dalla funzione main() */
- {
- EventQueue.invokeLater(new Runnable() /* creo una nuova interfaccia di tipo Runnable */
- {
- public void run() /* creo il metodo che avvierà il programma */
- {
- try /* mi assicuro che il programma venga eseguito correttamente, in caso contrario visualizza l'eventuale messaggio di errore */
- {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); /* applico alla finestra il "tema£ del sistema operativo */
- JFramesetBoundsWindow window = new JFramesetBoundsWindow(); /* istanzio la classe */
- window.setVisible(true); /* rendo visibile il JFrame */
- } catch (Exception e) { e.printStackTrace(); } /* visualizzo l'errore all'utente */
- }
- }); /* fine programma */
- }
- public JFramesetBoundsWindow() /* GUI */
- {
- initialize(); /* richiamo il metodo */
- }
- static String getArgument() /* creo un metodo che mi restituisce la stringa argument */
- {
- return argument; /* ritorno la stringa */
- }
- private void initialize() /* metodo che inizializza i controlli */
- {
- ImageIcon buttonImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/ok.gif")); /* variabile contenente l'immagine del bottone */
- /* Inizio scrittura codice relativa al form e al JPanel */
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); /* quando l'utente farà click sulla X verrà liberata la memoria della finestra e si chiuderà */
- this.setResizable(false); /* impedisco all'utente di ridimensionare la finestra */
- this.setBounds(1150, 400, 380, 120); /* imposto le coordinate x = 1150, y = 400 e la grandezza della finestra : width = 380, height = 120 */
- this.setTitle("Java GUI Code Creator - .setBounds"); /* setto il titolo della finestra */
- contentPane = new JPanel(); /* istanzio il JPanel */
- contentPane.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- this.setContentPane(contentPane); /* aggiungi il JPanel al form */
- contentPane.setLayout(null); /* non setto nessuna Layout */
- JLabel lblsetBounds = new JLabel(".setBounds("); /* istanzio una nuova JLabel e la chiamo .setBounds( */
- lblsetBounds.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblsetBounds.setBounds(12, 23, 95, 14); /* imposto le coordinate x = 12, y = 23 e la grandezza della finestra : width = 95 height = 14 */
- contentPane.add(lblsetBounds); /* aggiungo il controllo al JPanel */
- txtX = new JTextField(); /* istanzio una nuova JTextField */
- txtX.setBounds(111, 21, 39, 18); /* imposto le coordinate x = 111, y = 21 e la grandezza della finestra : width = 39 height = 18 */
- contentPane.add(txtX); /* aggiungo il controllo al JPanel */
- JLabel lblVirgola1 = new JLabel(","); /* istanzio una nuova JLabel a la chiamo "," */
- lblVirgola1.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblVirgola1.setBounds(151, 23, 11, 14); /* imposto le coordinate x = 151, y = 23 e la grandezza della finestra : width = 11 height = 14 */
- contentPane.add(lblVirgola1); /* aggiungo il controllo al JPanel */
- txtY = new JTextField(); /* istanzio una nuova JTextField */
- txtY.setBounds(161, 21, 39, 18); /* imposto le coordinate x = 161, y = 21 e la grandezza della finestra : width = 39 height = 18 */
- contentPane.add(txtY); /* aggiungo il controllo al JPanel */
- JLabel lblVirgola2 = new JLabel(","); /* istanzio una nuova JLabel a la chiamo "," */
- lblVirgola2.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblVirgola2.setBounds(201, 23, 11, 14); /* imposto le coordinate x = 201, y = 23 e la grandezza della finestra : width = 11 height = 14 */
- contentPane.add(lblVirgola2); /* aggiungo il controllo al JPanel */
- txtWidth = new JTextField(); /* istanzio una nuova JTextField */
- txtWidth.setBounds(211, 21, 39, 18); /* imposto le coordinate x = 211, y = 21 e la grandezza della finestra : width = 39 height = 18 */
- contentPane.add(txtWidth); /* aggiungo il controllo al JPanel */
- JLabel lblVirgola3 = new JLabel(","); /* istanzio una nuova JLabel a la chiamo "," */
- lblVirgola3.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblVirgola3.setBounds(253, 23, 11, 14); /* imposto le coordinate x = 253, y = 23 e la grandezza della finestra : width = 11 height = 14 */
- contentPane.add(lblVirgola3); /* aggiungo il controllo al JPanel */
- txtHeight = new JTextField(); /* istanzio una nuova JTextField */
- txtHeight.setBounds(263, 21, 39, 18); /* imposto le coordinate x = 263, y = 21 e la grandezza della finestra : width = 39 height = 18 */
- contentPane.add(txtHeight); /* aggiungo il controllo al JPanel */
- JLabel lblParentesi = new JLabel(")"); /* istanzio una nuova JLabel a la chiamo ")" */
- lblParentesi.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblParentesi.setBounds(302, 23, 11, 14); /* imposto le coordinate x = 302, y = 23 e la grandezza della finestra : width = 11 height = 14 */
- contentPane.add(lblParentesi); /* aggiungo il controllo al JPanel */
- btnOk = new JButton("Ok"); /* istanzio un nuovo JButton e lo chiamo "Ok" */
- btnOk.addActionListener(new ActionListener() /* aggiungo l'evento che prenderà la scelta dell'utente dalle JTextField */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- argument = txtX.getText().toString() + "," + txtY.getText().toString() + "," + txtWidth.getText().toString() + "," + txtHeight.getText().toString(); /* la variabile "argument" conterrà la scelta dell'utente */
- }
- });
- btnOk.setIcon(new ImageIcon(buttonImage.getImage())); /* setto l'immagine del bottone */
- btnOk.setBounds(273, 51, 91, 24); /* imposto le coordinate x = 273, y = 51 e la grandezza della finestra : width = 91 height = 24 */
- contentPane.add(btnOk); /* aggiungo il controllo al JPanel */
- /* Fine scrittura codice relativa al form e al JPanel */
- }
- }
- ______________________________________________________________________________________________
- JFramesetTitleWindow.java
- package gui.code.creator;
- /* inizio import per il progetto */
- import java.awt.Color;
- import java.awt.EventQueue;
- import javax.swing.ImageIcon;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.UIManager;
- import javax.swing.border.LineBorder;
- import javax.swing.JLabel;
- import java.awt.Font;
- import javax.swing.JTextField;
- import javax.swing.JButton;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- /* fine import per il progetto */
- public class JFramesetTitleWindow extends JFrame /* classe contente la grafica del programma */
- {
- private JPanel contentPane; /* controllo JPanel */
- private JTextField txtTitolo; /* controllo JTextField */
- private JButton btnOk;/* variabile privata di tipo JPanel */
- private static String argument; /* variabile privata di tipo stringa contenente la scelta dell'utente */
- public static void main(String[] args) /* il programma inizia dalla funzione main() */
- {
- EventQueue.invokeLater(new Runnable() /* creo una nuova interfaccia di tipo Runnable */
- {
- public void run() /* creo il metodo che avvierà il programma */
- {
- try /* mi assicuro che il programma venga eseguito correttamente, in caso contrario visualizza l'eventuale messaggio di errore */
- {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); /* applico alla finestra il "tema£ del sistema operativo */
- JFramesetTitleWindow window = new JFramesetTitleWindow(); /* istanzio la classe */
- window.setVisible(true); /* rendo visibile il JFrame */
- } catch (Exception e) { e.printStackTrace(); } /* visualizzo l'errore all'utente */
- }
- }); /* fine programma */
- }
- public JFramesetTitleWindow() /* GUI */
- {
- initialize(); /* richiamo il metodo */
- }
- static String getArgument() /* creo un metodo che mi restituisce la stringa argument */
- {
- return argument; /* ritorno la stringa */
- }
- private void initialize() /* metodo che inizializza i controlli */
- {
- ImageIcon buttonImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/ok.gif")); /* variabile contenente l'immagine del bottone */
- /* Inizio scrittura codice relativa al form e al JPanel */
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); /* quando l'utente farà click sulla X verrà liberata la memoria della finestra e si chiuderà */
- this.setResizable(false); /* impedisco all'utente di ridimensionare la finestra */
- this.setBounds(1150, 450, 320, 100); /* imposto le coordinate x = 1150, y = 450 e la grandezza della finestra : width = 320, height = 100 */
- this.setTitle("Java GUI Code Creator - .setTitle"); /* setto il titolo della finestra */
- contentPane = new JPanel(); /* istanzio il JPanel */
- contentPane.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- this.setContentPane(contentPane); /* aggiungi il JPanel al form */
- contentPane.setLayout(null); /* non setto nessuna Layout */
- JLabel lblSetTitle = new JLabel(".setTitle("); /* istanzio una nuova JLabel e la chiamo ".setTitle(" */
- lblSetTitle.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblSetTitle.setBounds(12, 12, 76, 14); /* imposto le coordinate x = 12, y = 12 e la grandezza della finestra : width = 76, height = 14 */
- contentPane.add(lblSetTitle); /* aggiungo il controllo al JPanel */
- txtTitolo = new JTextField(); /* istanzio una nuova JTextField */
- txtTitolo.setBounds(84, 10, 157, 18); /* imposto le coordinate x = 84, y = 10 e la grandezza della finestra : width = 157, height = 18 */
- contentPane.add(txtTitolo); /* aggiungo il controllo al JPanel */
- JLabel lblParentesi = new JLabel(")"); /* istanzio una nuova JLabel e la chiamo ")" */
- lblParentesi.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblParentesi.setBounds(243, 12, 76, 14); /* imposto le coordinate x = 243, y = 12 e la grandezza della finestra : width = 76, height = 14 */
- contentPane.add(lblParentesi); /* aggiungo il controllo al JPanel */
- btnOk = new JButton("Ok"); /* istanzio un nuovo JButton e lo chiamo "Ok" */
- btnOk.addActionListener(new ActionListener() /* aggiungo l'evento che prenderà la scelta dell'utente dalla JTextField */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- argument = "\"" + txtTitolo.getText().toString() + "\""; /* la variabile "argument" conterrà la scelta dell'utente */
- }
- });
- btnOk.setIcon(new ImageIcon(buttonImage.getImage())); /* setto l'immagine del bottone */
- btnOk.setBounds(222, 40, 82, 24); /* imposto le coordinate x = 222, y = 40 e la grandezza della finestra : width = 82, height = 24 */
- contentPane.add(btnOk); /* aggiungo il controllo al JPanel */
- /* Fine scrittura codice relativa al form e al JPanel */
- }
- }
- ______________________________________________________________________________________________
- JFramesetDefaultCloseOperationWindow.java
- package gui.code.creator;
- /* inizio import per il progetto */
- import java.awt.Color;
- import java.awt.EventQueue;
- import javax.swing.ImageIcon;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.UIManager;
- import javax.swing.border.LineBorder;
- import javax.swing.JLabel;
- import java.awt.Font;
- import javax.swing.JComboBox;
- import javax.swing.JButton;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- /* fine import per il progetto */
- public class JFramesetDefaultCloseOperationWindow extends JFrame /* classe contente la grafica del programma */
- {
- private JPanel contentPane; /* variabile privata di tipo JPanel */
- private static String argument; /* variabile privata di tipo stringa contenente la scelta dell'utente */
- public static void main(String[] args) /* il programma inizia dalla funzione main() */
- {
- EventQueue.invokeLater(new Runnable() /* creo una nuova interfaccia di tipo Runnable */
- {
- public void run() /* creo il metodo che avvierà il programma */
- {
- try /* mi assicuro che il programma venga eseguito correttamente, in caso contrario visualizza l'eventuale messaggio di errore */
- {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); /* applico alla finestra il "tema£ del sistema operativo */
- JFramesetDefaultCloseOperationWindow window = new JFramesetDefaultCloseOperationWindow(); /* istanzio la classe */
- window.setVisible(true); /* rendo visibile il JFrame */
- } catch (Exception e) { e.printStackTrace(); } /* visualizzo l'errore all'utente */
- }
- }); /* fine programma */
- }
- static String getArgument() /* creo un metodo che mi restituisce la stringa argument */
- {
- return argument; /* ritorno la stringa */
- }
- public JFramesetDefaultCloseOperationWindow() /* GUI */
- {
- initialize(); /* richiamo il metodo */
- }
- private void initialize() /* metodo che inizializza i controlli */
- {
- String[] args = {"EXIT_ON_CLOSE", "DISPOSE_ON_CLOSE", "HIDE_ON_CLOSE","DO_NOTHING_ON_CLOSE", "CROSSHAIR_CURSOR", "DEFAULT_CURSOR","HAND_CURSOR" }; /* array di stringhe contenente gli argomenti del metodo setDefaultCloseOperation */
- ImageIcon buttonImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/ok.gif")); /* variabile contenente l'immagine del bottone */
- /* Inizio scrittura codice relativa al form e al JPanel */
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); /* quando l'utente farà click sulla X verrà liberata la memoria della finestra e si chiuderà */
- this.setResizable(false); /* impedisco all'utente di ridimensionare la finestra */
- this.setBounds(1150, 300, 450, 100); /* imposto le coordinate x = 1150, y = 300 e la grandezza della finestra : width = 450, height = 300 */
- this.setTitle("Java GUI Code Creator - .setDefaultCloseOperation"); /* setto il titolo della finestra */
- contentPane = new JPanel(); /* istanzio il JPanel */
- contentPane.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- this.setContentPane(contentPane); /* aggiungo il JPanel al form */
- contentPane.setLayout(null); /* non setto nessuna Layout */
- JLabel lblsetDefaultCloseOperation = new JLabel(".setDefaultCloseOperation("); /* istanzio una nuova JLabel e la chiamo .setDefaultCloseOperation( */
- lblsetDefaultCloseOperation.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblsetDefaultCloseOperation.setBounds(12, 12, 218, 24); /* imposto le coordinate x = 12, y = 12 e la grandezza della finestra : width = 218 height = 24 */
- contentPane.add(lblsetDefaultCloseOperation); /* aggiungo il controllo al form */
- final JComboBox cbArgomenti = new JComboBox(args); /* istanzio una nuova JComboBox e come elementi aggiungo l'array di stringhe "args" */
- cbArgomenti.setBounds(230, 13, 171, 23); /* imposto le coordinate x = 230, y = 13 e la grandezza della finestra : width = 171 height = 23 */
- contentPane.add(cbArgomenti); /* aggiungo il controllo al form */
- JLabel lblParentesi = new JLabel(")"); /* istanzio una nuova JLabel e la chiamo ")" */
- lblParentesi.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblParentesi.setBounds(407, 17, 11, 14); /* imposto le coordinate x = 407, y = 17 e la grandezza della finestra : width = 11 height = 14 */
- contentPane.add(lblParentesi); /* aggiungo il controllo al form */
- JButton btnOk = new JButton("Ok"); /* istanzio un nuovo JButton e ne setto il testo "Ok" */
- btnOk.addActionListener(new ActionListener() /* aggiungo l'evento che prenderà la scelta dell'utente dalla JComboBox */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- argument = cbArgomenti.getSelectedItem().toString(); /* la variabile "argument" conterrà la scelta dell'utente */
- }
- });
- btnOk.setIcon(new ImageIcon(buttonImage.getImage())); /* setto l'immagine del bottone */
- btnOk.setBounds(348, 43, 86, 24); /* imposto le coordinate x = 348, y = 43 e la grandezza della finestra : width = 86 height = 24 */
- contentPane.add(btnOk); /* aggiungo il controllo al form */
- /* Fine scrittura codice relativa al form e al JPanel */
- }
- }
- ______________________________________________________________________________________________
- JFramesetResizableWindow.java
- package gui.code.creator;
- /* inizio import per il progetto */
- import java.awt.Color;
- import java.awt.EventQueue;
- import javax.swing.ImageIcon;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.UIManager;
- import javax.swing.border.LineBorder;
- import javax.swing.JLabel;
- import java.awt.Font;
- import javax.swing.JComboBox;
- import javax.swing.JButton;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- /* fine import per il progetto */
- public class JFramesetResizableWindow extends JFrame /* classe contente la grafica del programma */
- {
- private JPanel contentPane; /* variabile privata di tipo JPanel */
- private static String argument; /* variabile privata di tipo stringa contenente la scelta dell'utente */
- public static void main(String[] args) /* il programma inizia dalla funzione main() */
- {
- EventQueue.invokeLater(new Runnable() /* creo una nuova interfaccia di tipo Runnable */
- {
- public void run() /* creo il metodo che avvierà il programma */
- {
- try /* mi assicuro che il programma venga eseguito correttamente, in caso contrario visualizza l'eventuale messaggio di errore */
- {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); /* applico alla finestra il "tema£ del sistema operativo */
- JFramesetResizableWindow window = new JFramesetResizableWindow(); /* istanzio la classe */
- window.setVisible(true); /* rendo visibile il JFrame */
- } catch (Exception e) { e.printStackTrace(); } /* visualizzo l'errore all'utente */
- }
- }); /* fine programma */
- }
- static String getArgument() /* creo un metodo che mi restituisce la stringa argument */
- {
- return argument; /* ritorno la stringa */
- }
- public JFramesetResizableWindow() /* GUI */
- {
- initialize(); /* richiamo il metodo */
- }
- private void initialize() /* metodo che inizializza i controlli */
- {
- String[] args = {"true", "false" }; /* array di stringhe contenente gli argomenti del metodo .setResizable */
- ImageIcon buttonImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/ok.gif")); /* variabile contenente l'immagine del bottone */
- /* Inizio scrittura codice relativa al form e al JPanel */
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); /* quando l'utente farà click sulla X verrà liberata la memoria della finestra e si chiuderà */
- this.setResizable(false); /* impedisco all'utente di ridimensionare la finestra */
- this.setBounds(1150, 350, 320, 100); /* imposto le coordinate x = 1150, y = 350 e la grandezza della finestra : width = 450, height = 100 */
- this.setTitle("Java GUI Code Creator - .setResizable"); /* setto il titolo della finestra */
- contentPane = new JPanel(); /* istanzio il JPanel */
- contentPane.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- this.setContentPane(contentPane); /* aggiungi il JPanel al form */
- contentPane.setLayout(null); /* non setto nessuna Layout */
- JLabel lblsetresizable = new JLabel(".setResizable("); /* istanzio una nuova JLabel e la chiamo ".setResizable(" */
- lblsetresizable.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblsetresizable.setBounds(12, 12, 119, 14); /* imposto le coordinate x = 12, y = 12 e la grandezza della finestra : width = 119 height = 14 */
- contentPane.add(lblsetresizable); /* aggiungo il controllo al form */
- final JComboBox cbArgomenti = new JComboBox(args); /* istanzio una nuova JComboBox e come elementi aggiungo l'array di stringhe "args" */
- cbArgomenti.setBounds(126, 8, 82, 23); /* imposto le coordinate x = 126, y = 8 e la grandezza della finestra : width = 82 height = 23 */
- contentPane.add(cbArgomenti); /* aggiungo il controllo al form */
- JLabel lblParentesi = new JLabel(")"); /* istanzio una nuova JLabel e la chiamo ")" */
- lblParentesi.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblParentesi.setBounds(212, 12, 11, 14); /* imposto le coordinate x = 212, y = 12 e la grandezza della finestra : width = 11 height = 14 */
- contentPane.add(lblParentesi); /* aggiungo il controllo al form */
- JButton btnOk = new JButton("Ok"); /* istanzio unnuovo JButton e la chiamo "Ok" */
- btnOk.addActionListener(new ActionListener() /* aggiungo l'evento che prenderà la scelta dell'utente dalla JComboBox */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- argument = cbArgomenti.getSelectedItem().toString(); /* la variabile "argument" conterrà la scelta dell'utente */
- }
- });
- btnOk.setIcon(new ImageIcon(buttonImage.getImage())); /* setto l'immagine del bottone */
- btnOk.setBounds(222, 41, 82, 24); /* imposto le coordinate x = 222, y = 41 e la grandezza della finestra : width = 82 height = 24 */
- contentPane.add(btnOk); /* aggiungo il controllo al form */
- /* Fine scrittura codice relativa al form e al JPanel */
- }
- }
- ______________________________________________________________________________________________
- JLabelCodeCreator.java
- package gui.code.creator;
- /* inizio import per il progetto */
- import java.awt.Color;
- import java.awt.EventQueue;
- import java.awt.Toolkit;
- import java.awt.datatransfer.Clipboard;
- import java.awt.datatransfer.StringSelection;
- import java.awt.datatransfer.Transferable;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.ItemEvent;
- import java.awt.event.ItemListener;
- import javax.swing.ImageIcon;
- import javax.swing.JButton;
- import javax.swing.JCheckBox;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JMenu;
- import javax.swing.JMenuBar;
- import javax.swing.JMenuItem;
- import javax.swing.JPanel;
- import javax.swing.JTextPane;
- import javax.swing.SwingConstants;
- import javax.swing.UIManager;
- import javax.swing.border.EtchedBorder;
- import javax.swing.border.LineBorder;
- /* fine import per il progetto */
- public class JLabelCodeCreator extends JFrame /* classe contente la grafica del programma */
- {
- private JPanel contentPane; /* variabile privata di tipo JPanel */
- private boolean cbVisualizzaAnteprimaIsChecked = false; /* variabile privata di tipo boolean che verifica che sa la checkbox VisualizzaAnteprima è selezionata o no */
- private boolean cbsetBoundsIsChecked = false; /* variabile privata di tipo boolean che verifica che sa la checkbox setBounds è selezionata o no */
- private boolean cbsetTextIsChecked = false; /* variabile privata di tipo boolean che verifica che sa la checkbox setBounds è selezionata o no */
- private String setBoundsString, setTextString; /* variabili private di tipo string che contengono la scelta dell'utente */
- public static void main(String[] args) /* il programma inizia dalla funzione main() */
- {
- EventQueue.invokeLater(new Runnable() /* creo una nuova interfaccia di tipo Runnable */
- {
- public void run() /* creo il metodo che avvierà il programma */
- {
- try /* mi assicuro che il programma venga eseguito correttamente, in caso contrario visualizza l'eventuale messaggio di errore */
- {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); /* applico alla finestra il "tema£ del sistema operativo */
- JLabelCodeCreator window = new JLabelCodeCreator(); /* istanzio la classe */
- window.setVisible(true); /* rendo visibile il JFrame */
- } catch (Exception e) { e.printStackTrace(); } /* visualizzo l'errore all'utente */
- }
- }); /* fine programma */
- }
- public JLabelCodeCreator() /* GUI */
- {
- initialize(); /* richiamo il metodo */
- }
- private void initialize() /* metodo che inizializza i controlli */
- {
- /* Inizio scrittura codice relativa al form e al JPanel */
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); /* quando l'utente farà click sulla X verrà liberata la memoria della finestra e si chiuderà */
- this.setResizable(false); /* impedisco all'utente di ridimensionare la finestra */
- this.setBounds(700, 0, 450, 365); /* imposto le coordinate x = 700, y = 0 e la grandezza della finestra : width = 450, height = 365 */
- this.setTitle("Java GUI Code Creator - JLabel"); /* setto il titolo della finestra */
- contentPane = new JPanel(); /* istanzio il JPanel */
- contentPane.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- this.setContentPane(contentPane); /* aggiungi il JPanel al form */
- contentPane.setLayout(null); /* non setto nessuna Layout */
- final JTextPane txtCodice = new JTextPane(); /* istanzio un nuovo JTextPane */
- txtCodice.setForeground(Color.RED); /* setto il colore del testo */
- txtCodice.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null)); /* setto i bordi del controllo */
- txtCodice.setBounds(12, 147, 252, 122); /* imposto le coordinate x = 12, y = 187 e la grandezza del controllo : width = 252, height = 122 */
- contentPane.add(txtCodice); /* aggiungo il controllo al JPanel */
- ImageIcon generateImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/genera.png")); /* varabile contenente l'immagine del bottone "Genera codice" */
- ImageIcon copycodeImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/copy.png")); /* varabile contenente l'immagine del bottone "Copia codice" */
- JCheckBox cbVisualizzaAnteprima = new JCheckBox("Visualizza anteprima"); /* istanzio una nuova JCheckBox e la chiamo "Visualizza Anteprima" */
- cbVisualizzaAnteprima.setBounds(264, 8, 174, 22); /* imposto le coordinate x = 264, y = 8 e la grandezza del controllo : width = 174, height = 22 */
- contentPane.add(cbVisualizzaAnteprima); /* aggiungo il controllo al JPanel */
- JLabel lblMetodiJframe = new JLabel("Metodi JFrame"); /* istanzio una nuova JLabel e la chiamo "Metodi JFrame" */
- lblMetodiJframe.setBounds(86, 12, 112, 14); /* imposto le coordinate x = 86, y = 12 e la grandezza del controllo : width = 112, height = 14 */
- contentPane.add(lblMetodiJframe); /* aggiungo il controllo al JPanel */
- final JLabel lblAnteprima = new JLabel("Anteprima"); /* istanzio una nuova JLabel e la chiamo "Anteprima" */
- lblAnteprima.setBounds(334, 38, 82, 14); /* imposto le coordinate x = 334, y = 38 e la grandezza del controllo : width = 82, height = 14 */
- lblAnteprima.setVisible(false); /* rendo invisibile la label */
- contentPane.add(lblAnteprima); /* aggiungo il controllo al JPanel */
- JPanel panelMetodiJFrame = new JPanel(); /* istanzio un nuov JPanel */
- panelMetodiJFrame.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bord del JPanel */
- panelMetodiJFrame.setBounds(12, 27, 252, 64); /* imposto le coordinate x = 12, y = 27 e la grandezza del controllo : width = 252, height = 120 */
- contentPane.add(panelMetodiJFrame);/* aggiungo il controllo al al panel contenente i metodi del JFrame */
- JCheckBox cbsetBounds = new JCheckBox(".setBounds(x, y, width, height) "); /* istanzio una nuovo JCheckBox e la chiamo ".setBounds(x, y, width, height)", gli spazi sono per allineare la checkbox con le altre */
- cbsetBounds.setToolTipText("Sputando questo campo l'utente può scegliere la posizione X, Y, la larghezza e l'altezza della finestra"); /* setto il Tooltip del controllo */
- panelMetodiJFrame.add(cbsetBounds); /* aggiungo il controllo al al panel contenente i metodi del JFrame */
- JCheckBox cbsetText = new JCheckBox(".setText(testo) "); /* istanzio una nuovo JCheckBox e la chiamo ".setText(testo)", gli spazi sono per allineare la checkbox con le altre */
- cbsetText.setToolTipText("Spuntando questo campo l'utente potrà scegliere il testo da attribuire al bottone"); /* setto il Tooltip del controllo */
- cbsetText.setHorizontalAlignment(SwingConstants.LEFT); /* setto l'allineamento verso sinistra */
- panelMetodiJFrame.add(cbsetText); /* aggiungo il controllo al al panel contenente i metodi del JFrame */
- final JPanel panelAnteprima = new JPanel(); /* istazio un nuovo JPanel */
- panelAnteprima.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- panelAnteprima.setBounds(314, 52, 120, 82); /* imposto le coordinate x = 314, y = 52 e la grandezza del controllo : width = 120, height = 82 */
- panelAnteprima.setVisible(false); /* rendo invisibile il JPanel */
- contentPane.add(panelAnteprima);
- final JLabel lblLabel = new JLabel("Label"); /* istanzio un nuovo JButton e lo chiamo "Anteprima" */
- panelAnteprima.add(lblLabel);/* aggiungo il controllo al JPanel */
- JLabel lblCodiceGenerato = new JLabel("Codice generato"); /* istanzio una nuova JLabel e la chiamo "Codice generato" */
- lblCodiceGenerato.setBounds(74, 132, 120, 14); /* imposto le coordinate x = 74, y = 132 e la grandezza del controllo : width = 120, height = 14 */
- contentPane.add(lblCodiceGenerato); /* aggiungo il controllo al JPanel */
- JButton btnGeneraCodice = new JButton("Genera codice"); /* istanzio un nuovo JButton e lo chiamo "Genera codice" */
- btnGeneraCodice.addActionListener(new ActionListener() /* aggiungo l'evento che genera il codice prendendo le informazioni dagli altri form in cui l'utente ha scelto gli argomenti */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- JLabelsetBoundsWindow setboundswindow = new JLabelsetBoundsWindow(); /* istanzio la classe JLabelsetBoundsWindow */
- setBoundsString = txtCodice.getText().toString() + "this.setBounds(" + setboundswindow.getArgument() + ");" + "\n"; /* la variabile setBoundsString conterrà quanto scritto nel JTextPane + il codice preimpostato + quello che l'utente ha scelto quando si è aperto il form relativo alla scelta dell'argomento del metodo setBounds */
- txtCodice.setText(setBoundsString); /* inserisco nel JTextPane la stringa setBoundsString che corrisponde al codice */
- JLabelsetTextWindow settextwindow = new JLabelsetTextWindow(); /* istanzio la classe JLabelsetTextWindow */
- setTextString = txtCodice.getText().toString() + "this.setText(" + settextwindow.getArgument() + ");" + "\n"; /* la variabile setTextString conterrà quanto scritto nel JTextPane + il codice preimpostato + quello che l'utente ha scelto quando si è aperto il form relativo alla scelta dell'argomento del metodo setText */
- txtCodice.setText(setTextString); /* inserisco nel JTextPane la stringa setTextString che corrisponde al codice */
- }
- });
- btnGeneraCodice.setHorizontalAlignment(SwingConstants.LEFT); /* setto l'allineamento verso sinistra */
- btnGeneraCodice.setIcon(new ImageIcon(generateImage.getImage())); /* setto l'immagine del bottone */
- btnGeneraCodice.setBounds(276, 170, 162, 24); /* imposto le coordinate x = 276, y = 170 e la grandezza del controllo : width = 162, height = 24 */
- contentPane.add(btnGeneraCodice); /* aggiungo il controllo al JPanel */
- JButton btnCopiaCodice = new JButton("Copia codice"); /* istanzio un nuovo JButton e lo chiamo "Copia codice" */
- btnCopiaCodice.addActionListener(new ActionListener() /* aggiungo l'evento che copia il codice negli appunti */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- Clipboard copy = Toolkit.getDefaultToolkit ().getSystemClipboard(); /* rilevo la Clipboard */
- copy.setContents ((Transferable) new StringSelection (txtCodice.getText().toString()), null); /* inserisco in memoria quello che c'è scritto nel JTextPane */
- }
- });
- btnCopiaCodice.setHorizontalAlignment(SwingConstants.LEFT); /* setto l'allineamento verso sinistra */
- btnCopiaCodice.setIcon(new ImageIcon(copycodeImage.getImage())); /* setto l'immagine del bottone */
- btnCopiaCodice.setBounds(276, 219, 162, 24); /* imposto le coordinate x = 276, y = 256 e la grandezza del controllo : width = 162, height = 24 */
- contentPane.add(btnCopiaCodice);/* aggiungo il controllo al JPanel */
- /* Fine scrittura codice relativa al form e al JPanel */
- /* Inizio scrittura codice relativo al JMenuBar */
- ImageIcon firstmenuItemImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/clear.png")); /* variabile contenente l'immagine del primo item della barra dei menù */
- ImageIcon secondmenuItemImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/exit.png")); /* variabile contenente l'immagine del secondo item della barra dei menù */
- JMenuBar menuBar = new JMenuBar(); /* inizializzo la barra dei menù */
- menuBar.setBounds(224, 290, 129, 21); /* imposto le coordinate x = 224, y = 290 e la grandezza del barra menu : width = 129, height = 21 */
- JMenu menu = new JMenu("File"); /* inizializzo un nuovo menu e lo chiamo "JFile" */
- menuBar.add(menu); /* aggiungo il menu alla barra dei menù */
- JMenuItem firstItem = new JMenuItem("Pulisci", firstmenuItemImage); /* inizializzo un nuovo item della menubar chiamandolo "Pulisci" e associandogli la relativa immagine */
- JMenuItem secondItem = new JMenuItem("Chiudi", secondmenuItemImage); /* inizializzo un nuovo item della menubar chiamandolo "Chiudi" e associandogli la relativa immagine */
- firstItem.setHorizontalAlignment(SwingConstants.CENTER); /* imposto la scritta del primo item al centro */
- secondItem.setHorizontalAlignment(SwingConstants.CENTER); /* imposto la scritta del secondo item al centro */
- menu.add(firstItem); /* aggiungo il primo item al menu */
- menu.add(secondItem); /* aggiungo il secondo item al menu */
- this.setJMenuBar(menuBar); /* setto come JMenuBar la barra dei menu finora creata */
- /* Inizio scrittura codice relativo al click degli item dalla barra dei menu */
- firstItem.addActionListener(new ActionListener() /* quando l'utente clicca su "Pulisci" viene pulita la JTextField */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come metodo */
- {
- txtCodice.setText(""); /* setto il testo della JTextPane come "vuoto" */
- }
- });
- secondItem.addActionListener(new ActionListener() /* quando l'utente clicca su "Chiudi" il programma termina */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come metodo */
- {
- System.exit(0); /* restituisce 0 al sistema per indicare che l'applicazione è stata chiusa correttamente e la memoria è stata deallocata */
- }
- });
- /* Fine scrittura codice relativo al click degli item dalla barra dei menu */
- /* Fine scrittura codice relativo al JMenuBar */
- /* Inizio scrittura codice relativa allo stato ( checked, unchecked ) di tutte le CheckBox */
- cbVisualizzaAnteprima.addItemListener(new ItemListener() /* aggiungo l'evento che verifica se la cbVisualizzaAnteprima è spuntata o no */
- {
- public void itemStateChanged(ItemEvent item) /* l'evento viene trattato come un metodo */
- {
- cbVisualizzaAnteprimaIsChecked = (item.getStateChange() == ItemEvent.SELECTED); /* cbVisualizzaAnteprimaIsChecked sarà TRUE se la checkbox è spuntata, FALSE se non lo è */
- if(cbVisualizzaAnteprimaIsChecked) /* equivale a = if( cbVisualizzaAnteprimaIsChecked == true), se la checkbox è stata spuntata visualizza la label e il JPanel */
- {
- lblAnteprima.setVisible(true); /* rendo visibile la label */
- panelAnteprima.setVisible(true); /* rendo visibile il JPanel */
- }
- else /* altrimenti se non è spuntata li nasconde */
- {
- lblAnteprima.setVisible(false); /* rendo invisibile la label */
- panelAnteprima.setVisible(false); /* rendo invisibile il JPanel */
- }
- }
- });
- cbsetBounds.addItemListener(new ItemListener() /* aggiungo l'evento che verifica se la cbsetBounds è spuntata o no */
- {
- public void itemStateChanged(ItemEvent item) /* l'evento viene trattato come un metodo */
- {
- cbsetBoundsIsChecked = (item.getStateChange() == ItemEvent.SELECTED); /* cbsetBoundsIsChecked sarà TRUE se la checkbox è spuntata, FALSE se non lo è */
- if(cbsetBoundsIsChecked) /* equivale a = if( cbsetBoundsIsChecked == true), se la checkbox è stata spuntata visualizza la finestra relativa al metodo setBounds */
- {
- JLabelsetBoundsWindow setboundswindow = new JLabelsetBoundsWindow(); /* istanzio la classe JLabelsetBoundsWindow */
- setboundswindow.main(null); /* richiamo la funzione main nella quale vi è il codice per mostrare la finestra passandogli come argomento NULL, la finestra viene visualizzata */
- }
- }
- });
- cbsetText.addItemListener(new ItemListener() /* aggiungo l'evento che verifica se la cbsetTitle è spuntata o no */
- {
- public void itemStateChanged(ItemEvent item) /* l'evento viene trattato come un metodo */
- {
- cbsetTextIsChecked = (item.getStateChange() == ItemEvent.SELECTED); /* cbsetTitleIsChecked sarà TRUE se la checkbox è spuntata, FALSE se non lo è */
- if(cbsetTextIsChecked) /* equivale a = if( cbsetTitleIsChecked == true), se la checkbox è stata spuntata visualizza la finestra relativa al metodo setTitle */
- {
- JLabelsetTextWindow settextwindow = new JLabelsetTextWindow(); /* istanzio la classe JLabelsetTextWindow */
- settextwindow.main(null); /* richiamo la funzione main nella quale vi è il codice per mostrare la finestra passandogli come argomento NULL, la finestra viene visualizzata */
- }
- }
- });
- /* Fine scrittura codice relativa allo stato ( checked, unchecked ) di tutte le CheckBox */
- }
- }
- ______________________________________________________________________________________________
- JLabelsetBoundsWindow.java
- package gui.code.creator;
- /* inizio import per il progetto */
- import java.awt.Color;
- import java.awt.EventQueue;
- import javax.swing.ImageIcon;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.UIManager;
- import javax.swing.border.LineBorder;
- import javax.swing.JLabel;
- import java.awt.Font;
- import javax.swing.JTextField;
- import javax.swing.JButton;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- /* fine import per il progetto */
- public class JLabelsetBoundsWindow extends JFrame /* classe contente la grafica del programma */
- {
- private JPanel contentPane; /* variabile privata di tipo JPanel */
- private JTextField txtX; /* controllo JTextField */
- private JTextField txtY; /* controllo JTextField */
- private JTextField txtWidth; /* controllo JTextField */
- private JTextField txtHeight; /* controllo JTextField */
- private JButton btnOk; /* controllo JButton */
- private static String argument; /* variabile privata di tipo stringa contenente la scelta dell'utente */
- public static void main(String[] args) /* il programma inizia dalla funzione main() */
- {
- EventQueue.invokeLater(new Runnable() /* creo una nuova interfaccia di tipo Runnable */
- {
- public void run() /* creo il metodo che avvierà il programma */
- {
- try /* mi assicuro che il programma venga eseguito correttamente, in caso contrario visualizza l'eventuale messaggio di errore */
- {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); /* applico alla finestra il "tema£ del sistema operativo */
- JLabelsetBoundsWindow window = new JLabelsetBoundsWindow(); /* istanzio la classe */
- window.setVisible(true); /* rendo visibile il JFrame */
- } catch (Exception e) { e.printStackTrace(); } /* visualizzo l'errore all'utente */
- }
- }); /* fine programma */
- }
- public JLabelsetBoundsWindow() /* GUI */
- {
- initialize(); /* richiamo il metodo */
- }
- static String getArgument() /* creo un metodo che mi restituisce la stringa argument */
- {
- return argument; /* ritorno la stringa */
- }
- private void initialize() /* metodo che inizializza i controlli */
- {
- ImageIcon buttonImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/ok.gif")); /* variabile contenente l'immagine del bottone */
- /* Inizio scrittura codice relativa al form e al JPanel */
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); /* quando l'utente farà click sulla X verrà liberata la memoria della finestra e si chiuderà */
- this.setResizable(false); /* impedisco all'utente di ridimensionare la finestra */
- this.setBounds(710, 150, 380, 120); /* imposto le coordinate x = 1150, y = 400 e la grandezza della finestra : width = 380, height = 120 */
- this.setTitle("Java GUI Code Creator - .setBounds"); /* setto il titolo della finestra */
- contentPane = new JPanel(); /* istanzio il JPanel */
- contentPane.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- this.setContentPane(contentPane); /* aggiungi il JPanel al form */
- contentPane.setLayout(null); /* non setto nessuna Layout */
- JLabel lblsetBounds = new JLabel(".setBounds("); /* istanzio una nuova JLabel e la chiamo .setBounds( */
- lblsetBounds.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblsetBounds.setBounds(12, 23, 95, 14); /* imposto le coordinate x = 12, y = 23 e la grandezza della finestra : width = 95 height = 14 */
- contentPane.add(lblsetBounds); /* aggiungo il controllo al JPanel */
- txtX = new JTextField(); /* istanzio una nuova JTextField */
- txtX.setBounds(111, 21, 39, 18); /* imposto le coordinate x = 111, y = 21 e la grandezza della finestra : width = 39 height = 18 */
- contentPane.add(txtX); /* aggiungo il controllo al JPanel */
- JLabel lblVirgola1 = new JLabel(","); /* istanzio una nuova JLabel a la chiamo "," */
- lblVirgola1.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblVirgola1.setBounds(151, 23, 11, 14); /* imposto le coordinate x = 151, y = 23 e la grandezza della finestra : width = 11 height = 14 */
- contentPane.add(lblVirgola1); /* aggiungo il controllo al JPanel */
- txtY = new JTextField(); /* istanzio una nuova JTextField */
- txtY.setBounds(161, 21, 39, 18); /* imposto le coordinate x = 161, y = 21 e la grandezza della finestra : width = 39 height = 18 */
- contentPane.add(txtY); /* aggiungo il controllo al JPanel */
- JLabel lblVirgola2 = new JLabel(","); /* istanzio una nuova JLabel a la chiamo "," */
- lblVirgola2.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblVirgola2.setBounds(201, 23, 11, 14); /* imposto le coordinate x = 201, y = 23 e la grandezza della finestra : width = 11 height = 14 */
- contentPane.add(lblVirgola2); /* aggiungo il controllo al JPanel */
- txtWidth = new JTextField(); /* istanzio una nuova JTextField */
- txtWidth.setBounds(211, 21, 39, 18); /* imposto le coordinate x = 211, y = 21 e la grandezza della finestra : width = 39 height = 18 */
- contentPane.add(txtWidth); /* aggiungo il controllo al JPanel */
- JLabel lblVirgola3 = new JLabel(","); /* istanzio una nuova JLabel a la chiamo "," */
- lblVirgola3.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblVirgola3.setBounds(253, 23, 11, 14); /* imposto le coordinate x = 253, y = 23 e la grandezza della finestra : width = 11 height = 14 */
- contentPane.add(lblVirgola3); /* aggiungo il controllo al JPanel */
- txtHeight = new JTextField(); /* istanzio una nuova JTextField */
- txtHeight.setBounds(263, 21, 39, 18); /* imposto le coordinate x = 263, y = 21 e la grandezza della finestra : width = 39 height = 18 */
- contentPane.add(txtHeight); /* aggiungo il controllo al JPanel */
- JLabel lblParentesi = new JLabel(")"); /* istanzio una nuova JLabel a la chiamo ")" */
- lblParentesi.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblParentesi.setBounds(302, 23, 11, 14); /* imposto le coordinate x = 302, y = 23 e la grandezza della finestra : width = 11 height = 14 */
- contentPane.add(lblParentesi); /* aggiungo il controllo al JPanel */
- btnOk = new JButton("Ok"); /* istanzio un nuovo JButton e lo chiamo "Ok" */
- btnOk.addActionListener(new ActionListener() /* aggiungo l'evento che prenderà la scelta dell'utente dalle JTextField */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- argument = txtX.getText().toString() + "," + txtY.getText().toString() + "," + txtWidth.getText().toString() + "," + txtHeight.getText().toString(); /* la variabile "argument" conterrà la scelta dell'utente */
- }
- });
- btnOk.setIcon(new ImageIcon(buttonImage.getImage())); /* setto l'immagine del bottone */
- btnOk.setBounds(273, 51, 91, 24); /* imposto le coordinate x = 273, y = 51 e la grandezza della finestra : width = 91 height = 24 */
- contentPane.add(btnOk); /* aggiungo il controllo al JPanel */
- /* Fine scrittura codice relativa al form e al JPanel */
- }
- }
- JLabelsetTextWindow.java
- ______________________________________________________________________________________________
- package gui.code.creator;
- /* inizio import per il progetto */
- import java.awt.Color;
- import java.awt.EventQueue;
- import javax.swing.ImageIcon;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.UIManager;
- import javax.swing.border.LineBorder;
- import javax.swing.JLabel;
- import java.awt.Font;
- import javax.swing.JTextField;
- import javax.swing.JButton;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- /* fine import per il progetto */
- public class JLabelsetTextWindow extends JFrame /* classe contente la grafica del programma */
- {
- private JPanel contentPane; /* controllo JPanel */
- private JTextField txtTesto; /* controllo JTextField */
- private JButton btnOk;/* variabile privata di tipo JPanel */
- private static String argument; /* variabile privata di tipo stringa contenente la scelta dell'utente */
- public static void main(String[] args) /* il programma inizia dalla funzione main() */
- {
- EventQueue.invokeLater(new Runnable() /* creo una nuova interfaccia di tipo Runnable */
- {
- public void run() /* creo il metodo che avvierà il programma */
- {
- try /* mi assicuro che il programma venga eseguito correttamente, in caso contrario visualizza l'eventuale messaggio di errore */
- {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); /* applico alla finestra il "tema£ del sistema operativo */
- JLabelsetTextWindow window = new JLabelsetTextWindow(); /* istanzio la classe */
- window.setVisible(true); /* rendo visibile il JFrame */
- } catch (Exception e) { e.printStackTrace(); } /* visualizzo l'errore all'utente */
- }
- }); /* fine programma */
- }
- public JLabelsetTextWindow() /* GUI */
- {
- initialize(); /* richiamo il metodo */
- }
- static String getArgument() /* creo un metodo che mi restituisce la stringa argument */
- {
- return argument; /* ritorno la stringa */
- }
- private void initialize() /* metodo che inizializza i controlli */
- {
- ImageIcon buttonImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/ok.gif")); /* variabile contenente l'immagine del bottone */
- /* Inizio scrittura codice relativa al form e al JPanel */
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); /* quando l'utente farà click sulla X verrà liberata la memoria della finestra e si chiuderà */
- this.setResizable(false); /* impedisco all'utente di ridimensionare la finestra */
- this.setBounds(700, 200, 320, 100); /* imposto le coordinate x = 1150, y = 450 e la grandezza della finestra : width = 320, height = 100 */
- this.setTitle("Java GUI Code Creator - .setText"); /* setto il titolo della finestra */
- contentPane = new JPanel(); /* istanzio il JPanel */
- contentPane.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- this.setContentPane(contentPane); /* aggiungi il JPanel al form */
- contentPane.setLayout(null); /* non setto nessuna Layout */
- JLabel lblsetText = new JLabel(".setText("); /* istanzio una nuova JLabel e la chiamo ".setTitle(" */
- lblsetText.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblsetText.setBounds(12, 12, 76, 14); /* imposto le coordinate x = 12, y = 12 e la grandezza della finestra : width = 76, height = 14 */
- contentPane.add(lblsetText); /* aggiungo il controllo al JPanel */
- txtTesto = new JTextField(); /* istanzio una nuova JTextField */
- txtTesto.setBounds(84, 10, 157, 18); /* imposto le coordinate x = 84, y = 10 e la grandezza della finestra : width = 157, height = 18 */
- contentPane.add(txtTesto); /* aggiungo il controllo al JPanel */
- JLabel lblParentesi = new JLabel(")"); /* istanzio una nuova JLabel e la chiamo ")" */
- lblParentesi.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblParentesi.setBounds(243, 12, 76, 14); /* imposto le coordinate x = 243, y = 12 e la grandezza della finestra : width = 76, height = 14 */
- contentPane.add(lblParentesi); /* aggiungo il controllo al JPanel */
- btnOk = new JButton("Ok"); /* istanzio un nuovo JButton e lo chiamo "Ok" */
- btnOk.addActionListener(new ActionListener() /* aggiungo l'evento che prenderà la scelta dell'utente dalla JTextField */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- argument = "\"" + txtTesto.getText().toString() + "\""; /* la variabile "argument" conterrà la scelta dell'utente */
- }
- });
- btnOk.setIcon(new ImageIcon(buttonImage.getImage())); /* setto l'immagine del bottone */
- btnOk.setBounds(222, 40, 82, 24); /* imposto le coordinate x = 222, y = 40 e la grandezza della finestra : width = 82, height = 24 */
- contentPane.add(btnOk); /* aggiungo il controllo al JPanel */
- /* Fine scrittura codice relativa al form e al JPanel */
- }
- }
- JTextFieldCodeCreator.java
- ______________________________________________________________________________________________
- package gui.code.creator;
- /* inizio import per il progetto */
- import java.awt.Color;
- import java.awt.EventQueue;
- import java.awt.Toolkit;
- import java.awt.datatransfer.Clipboard;
- import java.awt.datatransfer.StringSelection;
- import java.awt.datatransfer.Transferable;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.awt.event.ItemEvent;
- import java.awt.event.ItemListener;
- import javax.swing.ImageIcon;
- import javax.swing.JButton;
- import javax.swing.JCheckBox;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JMenu;
- import javax.swing.JMenuBar;
- import javax.swing.JMenuItem;
- import javax.swing.JPanel;
- import javax.swing.JTextField;
- import javax.swing.JTextPane;
- import javax.swing.SwingConstants;
- import javax.swing.UIManager;
- import javax.swing.border.EtchedBorder;
- import javax.swing.border.LineBorder;
- /* fine import per il progetto */
- public class JTextFieldCodeCreator extends JFrame /* classe contente la grafica del programma */
- {
- private JPanel contentPane; /* variabile privata di tipo JPanel */
- private boolean cbVisualizzaAnteprimaIsChecked = false; /* variabile privata di tipo boolean che verifica che sa la checkbox VisualizzaAnteprima è selezionata o no */
- private boolean cbsetBoundsIsChecked = false; /* variabile privata di tipo boolean che verifica che sa la checkbox setBounds è selezionata o no */
- private boolean cbsetTextIsChecked = false; /* variabile privata di tipo boolean che verifica che sa la checkbox setBounds è selezionata o no */
- private String setBoundsString, setTextString; /* variabili private di tipo string che contengono la scelta dell'utente */
- public static void main(String[] args) /* il programma inizia dalla funzione main() */
- {
- EventQueue.invokeLater(new Runnable() /* creo una nuova interfaccia di tipo Runnable */
- {
- public void run() /* creo il metodo che avvierà il programma */
- {
- try /* mi assicuro che il programma venga eseguito correttamente, in caso contrario visualizza l'eventuale messaggio di errore */
- {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); /* applico alla finestra il "tema£ del sistema operativo */
- JTextFieldCodeCreator window = new JTextFieldCodeCreator(); /* istanzio la classe */
- window.setVisible(true); /* rendo visibile il JFrame */
- } catch (Exception e) { e.printStackTrace(); } /* visualizzo l'errore all'utente */
- }
- }); /* fine programma */
- }
- public JTextFieldCodeCreator() /* GUI */
- {
- initialize(); /* richiamo il metodo */
- }
- private void initialize() /* metodo che inizializza i controlli */
- {
- /* Inizio scrittura codice relativa al form e al JPanel */
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); /* quando l'utente farà click sulla X verrà liberata la memoria della finestra e si chiuderà */
- this.setResizable(false); /* impedisco all'utente di ridimensionare la finestra */
- this.setBounds(700, 600, 450, 365); /* imposto le coordinate x = 700, y = 600 e la grandezza della finestra : width = 450, height = 365 */
- this.setTitle("Java GUI Code Creator - JTextView"); /* setto il titolo della finestra */
- contentPane = new JPanel(); /* istanzio il JPanel */
- contentPane.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- this.setContentPane(contentPane); /* aggiungi il JPanel al form */
- contentPane.setLayout(null); /* non setto nessuna Layout */
- final JTextPane txtCodice = new JTextPane(); /* istanzio un nuovo JTextPane */
- txtCodice.setForeground(Color.RED); /* setto il colore del testo */
- txtCodice.setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null)); /* setto i bordi del controllo */
- txtCodice.setBounds(12, 147, 252, 122); /* imposto le coordinate x = 12, y = 187 e la grandezza del controllo : width = 252, height = 122 */
- contentPane.add(txtCodice); /* aggiungo il controllo al JPanel */
- ImageIcon generateImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/genera.png")); /* varabile contenente l'immagine del bottone "Genera codice" */
- ImageIcon copycodeImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/copy.png")); /* varabile contenente l'immagine del bottone "Copia codice" */
- JCheckBox cbVisualizzaAnteprima = new JCheckBox("Visualizza anteprima"); /* istanzio una nuova JCheckBox e la chiamo "Visualizza Anteprima" */
- cbVisualizzaAnteprima.setBounds(264, 8, 174, 22); /* imposto le coordinate x = 264, y = 8 e la grandezza del controllo : width = 174, height = 22 */
- contentPane.add(cbVisualizzaAnteprima); /* aggiungo il controllo al JPanel */
- JLabel lblMetodiJframe = new JLabel("Metodi JFrame"); /* istanzio una nuova JLabel e la chiamo "Metodi JFrame" */
- lblMetodiJframe.setBounds(86, 12, 112, 14); /* imposto le coordinate x = 86, y = 12 e la grandezza del controllo : width = 112, height = 14 */
- contentPane.add(lblMetodiJframe); /* aggiungo il controllo al JPanel */
- final JLabel lblAnteprima = new JLabel("Anteprima"); /* istanzio una nuova JLabel e la chiamo "Anteprima" */
- lblAnteprima.setBounds(334, 38, 82, 14); /* imposto le coordinate x = 334, y = 38 e la grandezza del controllo : width = 82, height = 14 */
- lblAnteprima.setVisible(false); /* rendo invisibile la label */
- contentPane.add(lblAnteprima); /* aggiungo il controllo al JPanel */
- JPanel panelMetodiJFrame = new JPanel(); /* istanzio un nuov JPanel */
- panelMetodiJFrame.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bord del JPanel */
- panelMetodiJFrame.setBounds(12, 27, 252, 64); /* imposto le coordinate x = 12, y = 27 e la grandezza del controllo : width = 252, height = 120 */
- contentPane.add(panelMetodiJFrame);/* aggiungo il controllo al al panel contenente i metodi del JFrame */
- JCheckBox cbsetBounds = new JCheckBox(".setBounds(x, y, width, height) "); /* istanzio una nuovo JCheckBox e la chiamo ".setBounds(x, y, width, height)", gli spazi sono per allineare la checkbox con le altre */
- cbsetBounds.setToolTipText("Sputando questo campo l'utente può scegliere la posizione X, Y, la larghezza e l'altezza della finestra"); /* setto il Tooltip del controllo */
- panelMetodiJFrame.add(cbsetBounds); /* aggiungo il controllo al al panel contenente i metodi del JFrame */
- JCheckBox cbsetText = new JCheckBox(".setText(testo) "); /* istanzio una nuovo JCheckBox e la chiamo ".setText(testo)", gli spazi sono per allineare la checkbox con le altre */
- cbsetText.setToolTipText("Spuntando questo campo l'utente potrà scegliere il testo da attribuire al bottone"); /* setto il Tooltip del controllo */
- cbsetText.setHorizontalAlignment(SwingConstants.LEFT); /* setto l'allineamento verso sinistra */
- panelMetodiJFrame.add(cbsetText); /* aggiungo il controllo al al panel contenente i metodi del JFrame */
- final JPanel panelAnteprima = new JPanel(); /* istazio un nuovo JPanel */
- panelAnteprima.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- panelAnteprima.setBounds(314, 52, 120, 82); /* imposto le coordinate x = 314, y = 52 e la grandezza del controllo : width = 120, height = 82 */
- panelAnteprima.setVisible(false); /* rendo invisibile il JPanel */
- contentPane.add(panelAnteprima);
- final JTextField txtAnteprima = new JTextField("Anteprima"); /* istanzio una nuova JTextField e la chiamo "Anteprima" */
- panelAnteprima.add(txtAnteprima);/* aggiungo il controllo al JPanel */
- JLabel lblCodiceGenerato = new JLabel("Codice generato"); /* istanzio una nuova JLabel e la chiamo "Codice generato" */
- lblCodiceGenerato.setBounds(74, 132, 120, 14); /* imposto le coordinate x = 74, y = 132 e la grandezza del controllo : width = 120, height = 14 */
- contentPane.add(lblCodiceGenerato); /* aggiungo il controllo al JPanel */
- JButton btnGeneraCodice = new JButton("Genera codice"); /* istanzio un nuovo JButton e lo chiamo "Genera codice" */
- btnGeneraCodice.addActionListener(new ActionListener() /* aggiungo l'evento che genera il codice prendendo le informazioni dagli altri form in cui l'utente ha scelto gli argomenti */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- JTextFieldsetBoundsWindow setboundswindow = new JTextFieldsetBoundsWindow(); /* istanzio la classe JTextFieldsetBoundsWindow */
- setBoundsString = txtCodice.getText().toString() + "this.setBounds(" + setboundswindow.getArgument() + ");" + "\n"; /* la variabile setBoundsString conterrà quanto scritto nel JTextPane + il codice preimpostato + quello che l'utente ha scelto quando si è aperto il form relativo alla scelta dell'argomento del metodo setBounds */
- txtCodice.setText(setBoundsString); /* inserisco nel JTextPane la stringa setBoundsString che corrisponde al codice */
- JTextFieldsetTextWindow settextwindow = new JTextFieldsetTextWindow(); /* istanzio la classe JTextFieldsetTextWindow */
- setTextString = txtCodice.getText().toString() + "this.setText(" + settextwindow.getArgument() + ");" + "\n"; /* la variabile setTextString conterrà quanto scritto nel JTextPane + il codice preimpostato + quello che l'utente ha scelto quando si è aperto il form relativo alla scelta dell'argomento del metodo setText */
- txtCodice.setText(setTextString); /* inserisco nel JTextPane la stringa setTextString che corrisponde al codice */
- }
- });
- btnGeneraCodice.setHorizontalAlignment(SwingConstants.LEFT); /* setto l'allineamento verso sinistra */
- btnGeneraCodice.setIcon(new ImageIcon(generateImage.getImage())); /* setto l'immagine del bottone */
- btnGeneraCodice.setBounds(276, 170, 162, 24); /* imposto le coordinate x = 276, y = 170 e la grandezza del controllo : width = 162, height = 24 */
- contentPane.add(btnGeneraCodice); /* aggiungo il controllo al JPanel */
- JButton btnCopiaCodice = new JButton("Copia codice"); /* istanzio un nuovo JButton e lo chiamo "Copia codice" */
- btnCopiaCodice.addActionListener(new ActionListener() /* aggiungo l'evento che copia il codice negli appunti */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- Clipboard copy = Toolkit.getDefaultToolkit ().getSystemClipboard(); /* rilevo la Clipboard */
- copy.setContents ((Transferable) new StringSelection (txtCodice.getText().toString()), null); /* inserisco in memoria quello che c'è scritto nel JTextPane */
- }
- });
- btnCopiaCodice.setHorizontalAlignment(SwingConstants.LEFT); /* setto l'allineamento verso sinistra */
- btnCopiaCodice.setIcon(new ImageIcon(copycodeImage.getImage())); /* setto l'immagine del bottone */
- btnCopiaCodice.setBounds(276, 219, 162, 24); /* imposto le coordinate x = 276, y = 256 e la grandezza del controllo : width = 162, height = 24 */
- contentPane.add(btnCopiaCodice);/* aggiungo il controllo al JPanel */
- /* Fine scrittura codice relativa al form e al JPanel */
- /* Inizio scrittura codice relativo al JMenuBar */
- ImageIcon firstmenuItemImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/clear.png")); /* variabile contenente l'immagine del primo item della barra dei menù */
- ImageIcon secondmenuItemImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/exit.png")); /* variabile contenente l'immagine del secondo item della barra dei menù */
- JMenuBar menuBar = new JMenuBar(); /* inizializzo la barra dei menù */
- menuBar.setBounds(224, 290, 129, 21); /* imposto le coordinate x = 224, y = 290 e la grandezza del barra menu : width = 129, height = 21 */
- JMenu menu = new JMenu("File"); /* inizializzo un nuovo menu e lo chiamo "JFile" */
- menuBar.add(menu); /* aggiungo il menu alla barra dei menù */
- JMenuItem firstItem = new JMenuItem("Pulisci", firstmenuItemImage); /* inizializzo un nuovo item della menubar chiamandolo "Pulisci" e associandogli la relativa immagine */
- JMenuItem secondItem = new JMenuItem("Chiudi", secondmenuItemImage); /* inizializzo un nuovo item della menubar chiamandolo "Chiudi" e associandogli la relativa immagine */
- firstItem.setHorizontalAlignment(SwingConstants.CENTER); /* imposto la scritta del primo item al centro */
- secondItem.setHorizontalAlignment(SwingConstants.CENTER); /* imposto la scritta del secondo item al centro */
- menu.add(firstItem); /* aggiungo il primo item al menu */
- menu.add(secondItem); /* aggiungo il secondo item al menu */
- this.setJMenuBar(menuBar); /* setto come JMenuBar la barra dei menu finora creata */
- /* Inizio scrittura codice relativo al click degli item dalla barra dei menu */
- firstItem.addActionListener(new ActionListener() /* quando l'utente clicca su "Pulisci" viene pulita la JTextField */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come metodo */
- {
- txtCodice.setText(""); /* setto il testo della JTextPane come "vuoto" */
- }
- });
- secondItem.addActionListener(new ActionListener() /* quando l'utente clicca su "Chiudi" il programma termina */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come metodo */
- {
- System.exit(0); /* restituisce 0 al sistema per indicare che l'applicazione è stata chiusa correttamente e la memoria è stata deallocata */
- }
- });
- /* Fine scrittura codice relativo al click degli item dalla barra dei menu */
- /* Inizio scrittura codice relativa allo stato ( checked, unchecked ) di tutte le CheckBox */
- cbVisualizzaAnteprima.addItemListener(new ItemListener() /* aggiungo l'evento che verifica se la cbVisualizzaAnteprima è spuntata o no */
- {
- public void itemStateChanged(ItemEvent item) /* l'evento viene trattato come un metodo */
- {
- cbVisualizzaAnteprimaIsChecked = (item.getStateChange() == ItemEvent.SELECTED); /* cbVisualizzaAnteprimaIsChecked sarà TRUE se la checkbox è spuntata, FALSE se non lo è */
- if(cbVisualizzaAnteprimaIsChecked) /* equivale a = if( cbVisualizzaAnteprimaIsChecked == true), se la checkbox è stata spuntata visualizza la label e il JPanel */
- {
- lblAnteprima.setVisible(true); /* rendo visibile la label */
- panelAnteprima.setVisible(true); /* rendo visibile il JPanel */
- }
- else /* altrimenti se non è spuntata li nasconde */
- {
- lblAnteprima.setVisible(false); /* rendo invisibile la label */
- panelAnteprima.setVisible(false); /* rendo invisibile il JPanel */
- }
- }
- });
- cbsetBounds.addItemListener(new ItemListener() /* aggiungo l'evento che verifica se la cbsetBounds è spuntata o no */
- {
- public void itemStateChanged(ItemEvent item) /* l'evento viene trattato come un metodo */
- {
- cbsetBoundsIsChecked = (item.getStateChange() == ItemEvent.SELECTED); /* cbsetBoundsIsChecked sarà TRUE se la checkbox è spuntata, FALSE se non lo è */
- if(cbsetBoundsIsChecked) /* equivale a = if( cbsetBoundsIsChecked == true), se la checkbox è stata spuntata visualizza la finestra relativa al metodo setBounds */
- {
- JTextFieldsetBoundsWindow setboundswindow = new JTextFieldsetBoundsWindow(); /* istanzio la classe JTextFieldsetBoundsWindow */
- setboundswindow.main(null); /* richiamo la funzione main nella quale vi è il codice per mostrare la finestra passandogli come argomento NULL, la finestra viene visualizzata */
- }
- }
- });
- cbsetText.addItemListener(new ItemListener() /* aggiungo l'evento che verifica se la cbsetTitle è spuntata o no */
- {
- public void itemStateChanged(ItemEvent item) /* l'evento viene trattato come un metodo */
- {
- cbsetTextIsChecked = (item.getStateChange() == ItemEvent.SELECTED); /* cbsetTitleIsChecked sarà TRUE se la checkbox è spuntata, FALSE se non lo è */
- if(cbsetTextIsChecked) /* equivale a = if( cbsetTitleIsChecked == true), se la checkbox è stata spuntata visualizza la finestra relativa al metodo setTitle */
- {
- JTextFieldsetTextWindow settextwindow = new JTextFieldsetTextWindow(); /* istanzio la classe JTextFieldsetTextWindow */
- settextwindow.main(null); /* richiamo la funzione main nella quale vi è il codice per mostrare la finestra passandogli come argomento NULL, la finestra viene visualizzata */
- }
- }
- });
- /* Fine scrittura codice relativa allo stato ( checked, unchecked ) di tutte le CheckBox */
- }
- }
- ______________________________________________________________________________________________
- JTextFieldsetBoundsWindow.java
- package gui.code.creator;
- /* inizio import per il progetto */
- import java.awt.Color;
- import java.awt.EventQueue;
- import javax.swing.ImageIcon;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.UIManager;
- import javax.swing.border.LineBorder;
- import javax.swing.JLabel;
- import java.awt.Font;
- import javax.swing.JTextField;
- import javax.swing.JButton;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- /* fine import per il progetto */
- public class JTextFieldsetBoundsWindow extends JFrame /* classe contente la grafica del programma */
- {
- private JPanel contentPane; /* variabile privata di tipo JPanel */
- private JTextField txtX; /* controllo JTextField */
- private JTextField txtY; /* controllo JTextField */
- private JTextField txtWidth; /* controllo JTextField */
- private JTextField txtHeight; /* controllo JTextField */
- private JButton btnOk; /* controllo JButton */
- private static String argument; /* variabile privata di tipo stringa contenente la scelta dell'utente */
- public static void main(String[] args) /* il programma inizia dalla funzione main() */
- {
- EventQueue.invokeLater(new Runnable() /* creo una nuova interfaccia di tipo Runnable */
- {
- public void run() /* creo il metodo che avvierà il programma */
- {
- try /* mi assicuro che il programma venga eseguito correttamente, in caso contrario visualizza l'eventuale messaggio di errore */
- {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); /* applico alla finestra il "tema£ del sistema operativo */
- JTextFieldsetBoundsWindow window = new JTextFieldsetBoundsWindow(); /* istanzio la classe */
- window.setVisible(true); /* rendo visibile il JFrame */
- } catch (Exception e) { e.printStackTrace(); } /* visualizzo l'errore all'utente */
- }
- }); /* fine programma */
- }
- public JTextFieldsetBoundsWindow() /* GUI */
- {
- initialize(); /* richiamo il metodo */
- }
- static String getArgument() /* creo un metodo che mi restituisce la stringa argument */
- {
- return argument; /* ritorno la stringa */
- }
- private void initialize() /* metodo che inizializza i controlli */
- {
- ImageIcon buttonImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/ok.gif")); /* variabile contenente l'immagine del bottone */
- /* Inizio scrittura codice relativa al form e al JPanel */
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); /* quando l'utente farà click sulla X verrà liberata la memoria della finestra e si chiuderà */
- this.setResizable(false); /* impedisco all'utente di ridimensionare la finestra */
- this.setBounds(700, 650, 380, 120); /* imposto le coordinate x = 700, y = 650 e la grandezza della finestra : width = 380, height = 120 */
- this.setTitle("Java GUI Code Creator - .setBounds"); /* setto il titolo della finestra */
- contentPane = new JPanel(); /* istanzio il JPanel */
- contentPane.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- this.setContentPane(contentPane); /* aggiungi il JPanel al form */
- contentPane.setLayout(null); /* non setto nessuna Layout */
- JLabel lblsetBounds = new JLabel(".setBounds("); /* istanzio una nuova JLabel e la chiamo .setBounds( */
- lblsetBounds.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblsetBounds.setBounds(12, 23, 95, 14); /* imposto le coordinate x = 12, y = 23 e la grandezza della finestra : width = 95 height = 14 */
- contentPane.add(lblsetBounds); /* aggiungo il controllo al JPanel */
- txtX = new JTextField(); /* istanzio una nuova JTextField */
- txtX.setBounds(111, 21, 39, 18); /* imposto le coordinate x = 111, y = 21 e la grandezza della finestra : width = 39 height = 18 */
- contentPane.add(txtX); /* aggiungo il controllo al JPanel */
- JLabel lblVirgola1 = new JLabel(","); /* istanzio una nuova JLabel a la chiamo "," */
- lblVirgola1.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblVirgola1.setBounds(151, 23, 11, 14); /* imposto le coordinate x = 151, y = 23 e la grandezza della finestra : width = 11 height = 14 */
- contentPane.add(lblVirgola1); /* aggiungo il controllo al JPanel */
- txtY = new JTextField(); /* istanzio una nuova JTextField */
- txtY.setBounds(161, 21, 39, 18); /* imposto le coordinate x = 161, y = 21 e la grandezza della finestra : width = 39 height = 18 */
- contentPane.add(txtY); /* aggiungo il controllo al JPanel */
- JLabel lblVirgola2 = new JLabel(","); /* istanzio una nuova JLabel a la chiamo "," */
- lblVirgola2.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblVirgola2.setBounds(201, 23, 11, 14); /* imposto le coordinate x = 201, y = 23 e la grandezza della finestra : width = 11 height = 14 */
- contentPane.add(lblVirgola2); /* aggiungo il controllo al JPanel */
- txtWidth = new JTextField(); /* istanzio una nuova JTextField */
- txtWidth.setBounds(211, 21, 39, 18); /* imposto le coordinate x = 211, y = 21 e la grandezza della finestra : width = 39 height = 18 */
- contentPane.add(txtWidth); /* aggiungo il controllo al JPanel */
- JLabel lblVirgola3 = new JLabel(","); /* istanzio una nuova JLabel a la chiamo "," */
- lblVirgola3.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblVirgola3.setBounds(253, 23, 11, 14); /* imposto le coordinate x = 253, y = 23 e la grandezza della finestra : width = 11 height = 14 */
- contentPane.add(lblVirgola3); /* aggiungo il controllo al JPanel */
- txtHeight = new JTextField(); /* istanzio una nuova JTextField */
- txtHeight.setBounds(263, 21, 39, 18); /* imposto le coordinate x = 263, y = 21 e la grandezza della finestra : width = 39 height = 18 */
- contentPane.add(txtHeight); /* aggiungo il controllo al JPanel */
- JLabel lblParentesi = new JLabel(")"); /* istanzio una nuova JLabel a la chiamo ")" */
- lblParentesi.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblParentesi.setBounds(302, 23, 11, 14); /* imposto le coordinate x = 302, y = 23 e la grandezza della finestra : width = 11 height = 14 */
- contentPane.add(lblParentesi); /* aggiungo il controllo al JPanel */
- btnOk = new JButton("Ok"); /* istanzio un nuovo JButton e lo chiamo "Ok" */
- btnOk.addActionListener(new ActionListener() /* aggiungo l'evento che prenderà la scelta dell'utente dalle JTextField */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- argument = txtX.getText().toString() + "," + txtY.getText().toString() + "," + txtWidth.getText().toString() + "," + txtHeight.getText().toString(); /* la variabile "argument" conterrà la scelta dell'utente */
- }
- });
- btnOk.setIcon(new ImageIcon(buttonImage.getImage())); /* setto l'immagine del bottone */
- btnOk.setBounds(273, 51, 91, 24); /* imposto le coordinate x = 273, y = 51 e la grandezza della finestra : width = 91 height = 24 */
- contentPane.add(btnOk); /* aggiungo il controllo al JPanel */
- /* Fine scrittura codice relativa al form e al JPanel */
- }
- }
- ______________________________________________________________________________________________
- JTextFieldsetTextWindow.java
- package gui.code.creator;
- /* inizio import per il progetto */
- import java.awt.Color;
- import java.awt.EventQueue;
- import javax.swing.ImageIcon;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.UIManager;
- import javax.swing.border.LineBorder;
- import javax.swing.JLabel;
- import java.awt.Font;
- import javax.swing.JTextField;
- import javax.swing.JButton;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- /* fine import per il progetto */
- public class JTextFieldsetTextWindow extends JFrame /* classe contente la grafica del programma */
- {
- private JPanel contentPane; /* controllo JPanel */
- private JTextField txtTesto; /* controllo JTextField */
- private JButton btnOk;/* variabile privata di tipo JPanel */
- private static String argument; /* variabile privata di tipo stringa contenente la scelta dell'utente */
- public static void main(String[] args) /* il programma inizia dalla funzione main() */
- {
- EventQueue.invokeLater(new Runnable() /* creo una nuova interfaccia di tipo Runnable */
- {
- public void run() /* creo il metodo che avvierà il programma */
- {
- try /* mi assicuro che il programma venga eseguito correttamente, in caso contrario visualizza l'eventuale messaggio di errore */
- {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); /* applico alla finestra il "tema£ del sistema operativo */
- JTextFieldsetTextWindow window = new JTextFieldsetTextWindow(); /* istanzio la classe */
- window.setVisible(true); /* rendo visibile il JFrame */
- } catch (Exception e) { e.printStackTrace(); } /* visualizzo l'errore all'utente */
- }
- }); /* fine programma */
- }
- public JTextFieldsetTextWindow() /* GUI */
- {
- initialize(); /* richiamo il metodo */
- }
- static String getArgument() /* creo un metodo che mi restituisce la stringa argument */
- {
- return argument; /* ritorno la stringa */
- }
- private void initialize() /* metodo che inizializza i controlli */
- {
- ImageIcon buttonImage = new ImageIcon(JavaGuiCodeCreator.class.getResource("/images/ok.gif")); /* variabile contenente l'immagine del bottone */
- /* Inizio scrittura codice relativa al form e al JPanel */
- this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); /* quando l'utente farà click sulla X verrà liberata la memoria della finestra e si chiuderà */
- this.setResizable(false); /* impedisco all'utente di ridimensionare la finestra */
- this.setBounds(700, 700, 320, 100); /* imposto le coordinate x = 700, y = 700 e la grandezza della finestra : width = 320, height = 100 */
- this.setTitle("Java GUI Code Creator - .setText"); /* setto il titolo della finestra */
- contentPane = new JPanel(); /* istanzio il JPanel */
- contentPane.setBorder(new LineBorder(new Color(0, 0, 0))); /* setto i bordi del JPanel */
- this.setContentPane(contentPane); /* aggiungi il JPanel al form */
- contentPane.setLayout(null); /* non setto nessuna Layout */
- JLabel lblsetText = new JLabel(".setText("); /* istanzio una nuova JLabel e la chiamo ".setTitle(" */
- lblsetText.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblsetText.setBounds(12, 12, 76, 14); /* imposto le coordinate x = 12, y = 12 e la grandezza della finestra : width = 76, height = 14 */
- contentPane.add(lblsetText); /* aggiungo il controllo al JPanel */
- txtTesto = new JTextField(); /* istanzio una nuova JTextField */
- txtTesto.setBounds(84, 10, 157, 18); /* imposto le coordinate x = 84, y = 10 e la grandezza della finestra : width = 157, height = 18 */
- contentPane.add(txtTesto); /* aggiungo il controllo al JPanel */
- JLabel lblParentesi = new JLabel(")"); /* istanzio una nuova JLabel e la chiamo ")" */
- lblParentesi.setFont(new Font("Dialog", Font.BOLD, 14)); /* imposto il font grassetto e grandezza 14 */
- lblParentesi.setBounds(243, 12, 76, 14); /* imposto le coordinate x = 243, y = 12 e la grandezza della finestra : width = 76, height = 14 */
- contentPane.add(lblParentesi); /* aggiungo il controllo al JPanel */
- btnOk = new JButton("Ok"); /* istanzio un nuovo JButton e lo chiamo "Ok" */
- btnOk.addActionListener(new ActionListener() /* aggiungo l'evento che prenderà la scelta dell'utente dalla JTextField */
- {
- public void actionPerformed(ActionEvent e) /* l'evento viene trattato come un metodo */
- {
- argument = "\"" + txtTesto.getText().toString() + "\""; /* la variabile "argument" conterrà la scelta dell'utente */
- }
- });
- btnOk.setIcon(new ImageIcon(buttonImage.getImage())); /* setto l'immagine del bottone */
- btnOk.setBounds(222, 40, 82, 24); /* imposto le coordinate x = 222, y = 40 e la grandezza della finestra : width = 82, height = 24 */
- contentPane.add(btnOk); /* aggiungo il controllo al JPanel */
- /* Fine scrittura codice relativa al form e al JPanel */
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement