Accedi
Ultimi argomenti attivi
Migliori postatori
ab89 | ||||
Thalionwen | ||||
Eine The Phantom | ||||
Reaulece | ||||
ya89 | ||||
root | ||||
Infernet89 | ||||
Pablomares | ||||
ruggiero98 | ||||
ieschfor |
Mini Agenda
Pagina 1 di 1
Mini Agenda
Realizzazione di una mini agenda con le funzioni di base.
AUTORE : Reaulece
FORUM : Informatica Programmabile
LINGUAGGIO : Java
Il programma si compone di una finestra principale con i seguenti bottoni:
Aggiungi Contatto
Per aggiungere un nuovo contatto alla rubrice che apparira nella lista a sinistra.
Premendo il bottone compare un sotto menu per inserire nome cognome e numero di telefono del contatto.
Modifica Contatto
Dopo aver selezionato nella lista dei contatti il nome della persona, utilizzando questo bottone potrete modificare i sui dati inseriti.
Elimina Contatto
Dopo aver selezionato nella lista dei contatti il nome della persona, utilizzando questo bottone lo eliminerete dalla lista.
Esporta Contatto
Esporta tutta la lista dei contatti inseriti in un file di testo dal nome rubrica.txt.
Questo file viene creato nella stessa cartella in cui il programma viene lanciato.
Esporta Contatti
Esporta tutta la lista dei contatti inseriti in un file di testo dal nome rubrica.txt.
Questo file viene creato nella stessa cartella in cui il programma viene lanciato.
Importa Contatti
Importa una lista dei contatti dal file rubrica.txt.
La lista attuale verrà cancellata prima dell'importazione.
NB : Il codice è liberamente utilizzabile a patto che venga citato l'autore e il forum dove lo si è trovato.
AUTORE : Reaulece
FORUM : Informatica Programmabile
LINGUAGGIO : Java
Il programma si compone di una finestra principale con i seguenti bottoni:
Aggiungi Contatto
Per aggiungere un nuovo contatto alla rubrice che apparira nella lista a sinistra.
Premendo il bottone compare un sotto menu per inserire nome cognome e numero di telefono del contatto.
Modifica Contatto
Dopo aver selezionato nella lista dei contatti il nome della persona, utilizzando questo bottone potrete modificare i sui dati inseriti.
Elimina Contatto
Dopo aver selezionato nella lista dei contatti il nome della persona, utilizzando questo bottone lo eliminerete dalla lista.
Esporta Contatto
Esporta tutta la lista dei contatti inseriti in un file di testo dal nome rubrica.txt.
Questo file viene creato nella stessa cartella in cui il programma viene lanciato.
Esporta Contatti
Esporta tutta la lista dei contatti inseriti in un file di testo dal nome rubrica.txt.
Questo file viene creato nella stessa cartella in cui il programma viene lanciato.
Importa Contatti
Importa una lista dei contatti dal file rubrica.txt.
La lista attuale verrà cancellata prima dell'importazione.
- Codice:
package miniagenda;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.StringTokenizer;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
/**
*
* @author DavideS
* @version 1.00
*
*/
public class MiniAgenda {
protected String[] listanome;
protected String[] listacognome;
protected String[] listatelefono;
protected int lunghezzalista;
protected JButton pulsanteinserisci = new JButton();
protected JButton pulsantemodifica = new JButton();
protected JButton pulsanteelimina = new JButton();
protected JButton pulsanteesporta = new JButton();
protected JButton pulsanteimporta = new JButton();
protected JButton pulsanteesci = new JButton();
protected JTextField testonome = new JTextField();
protected JTextField testocognome = new JTextField();
protected JTextField testotelefono = new JTextField();
protected JButton pulsanteinseriscimodifica = new JButton();
protected JList listacontatti = null;
protected boolean emodifica;
protected MenuPrincipale menuprincipale;
protected MenuInserisciModifica inseriscimodifica;
public MiniAgenda() throws Exception {
listanome = new String[200];
listacognome = new String[200];
listatelefono = new String[200];
for (int j = 0; j < 200; j++){
listanome[j] = "";
listacognome[j] = "";
listatelefono[j] = "";
}
lunghezzalista = -1;
menuprincipale = new MenuPrincipale();
inseriscimodifica = new MenuInserisciModifica();
inseriscimodifica.setEnabled(false);
inseriscimodifica.setVisible(false);
}
public static void main(String[] args) {
try {
MiniAgenda msgbox = new MiniAgenda();
} catch (Exception e) {
e.printStackTrace();
}
}
public class GestoreEventi implements ActionListener {
private JFrame pannel;
public GestoreEventi(JFrame p){
super();
pannel = p;
}
public void actionPerformed (ActionEvent arg0) {
if (arg0.getSource() instanceof JButton) {
/* premuto bottone inserisci */
if (arg0.getSource() == pulsanteinserisci) {
menuprincipale.setEnabled(false);
emodifica = false;
inseriscimodifica.aggiorna();
inseriscimodifica.setEnabled(true);
inseriscimodifica.setVisible(true);
}
/* premuto bottone modifica */
if (arg0.getSource() == pulsantemodifica) {
menuprincipale.setEnabled(false);
emodifica = true;
inseriscimodifica.aggiorna();
inseriscimodifica.setEnabled(true);
inseriscimodifica.setVisible(true);
}
/* premuto bottone elimina */
if (arg0.getSource() == pulsanteelimina) {
int posizione = listacontatti.getSelectedIndices()[0];
if ( posizione <= lunghezzalista ) {
for (int j = posizione; j < 100; j++){
listanome[j] = listanome[j+1];
listacognome[j] = listacognome[j+1];
listatelefono[j] = listatelefono[j+1];
}
listanome[99] = "";
listacognome[99] = "";
listatelefono[99] = "";
listacontatti.repaint();
lunghezzalista--;
}
}
/* premuto bottone esporta */
if (arg0.getSource() == pulsanteesporta) {
try {
FileWriter file = new FileWriter ("rubrica.txt");
BufferedWriter bw = new BufferedWriter(file);
for (int j = 0; j <= lunghezzalista; j++){
if (listanome[j].length() > 0) {
bw.write(listanome[j] + ";" + listacognome[j] + ";" + listatelefono[j]);
bw.newLine();
}
}
bw.flush();
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/* premuto bottone importa */
if (arg0.getSource() == pulsanteimporta) {
try {
String linea = "";
for (int j = 0; j < 200; j++){
listanome[j] = "";
listacognome[j] = "";
listatelefono[j] = "";
}
FileReader file = new FileReader ("rubrica.txt");
BufferedReader br = new BufferedReader(file);
lunghezzalista = -1;
while (( linea = br.readLine()) != null){
StringTokenizer st = new StringTokenizer(linea,";");
if (st.hasMoreTokens()) {
lunghezzalista++;
listanome[lunghezzalista] = st.nextToken();
}
if (st.hasMoreTokens()) {
listacognome[lunghezzalista] = st.nextToken();
}
if (st.hasMoreTokens()) {
listatelefono[lunghezzalista] = st.nextToken();
}
}
listacontatti.repaint();
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/* premuto bottone esci */
if (arg0.getSource() == pulsanteesci) {
inseriscimodifica.dispose();
inseriscimodifica = null;
menuprincipale.dispose();
menuprincipale = null;
}
/* premuto bottone inserisci o modifica */
if (arg0.getSource() == pulsanteinseriscimodifica) {
int posizione = 0;
if (emodifica == false) {
lunghezzalista++;
posizione = lunghezzalista;
} else {
posizione = listacontatti.getSelectedIndices()[0];
}
listanome[posizione] = testonome.getText();
listacognome[posizione] = testocognome.getText();
listatelefono[posizione] = testotelefono.getText();
listacontatti.repaint();
inseriscimodifica.setEnabled(false);
inseriscimodifica.setVisible(false);
menuprincipale.setEnabled(true);
}
}
}
}
public class GestoreFinestra implements WindowListener {
private JFrame pannel;
public GestoreFinestra(JFrame p){
super();
pannel = p;
}
public void windowOpened(WindowEvent arg0) {
}
public void windowClosing(WindowEvent arg0) {
if (pannel == inseriscimodifica) {
inseriscimodifica.setEnabled(false);
inseriscimodifica.setVisible(false);
menuprincipale.setEnabled(true);
}
}
public void windowClosed(WindowEvent arg0) {
}
public void windowIconified(WindowEvent arg0) {
}
public void windowDeiconified(WindowEvent arg0) {
}
public void windowActivated(WindowEvent arg0) {
}
public void windowDeactivated(WindowEvent arg0) {
}
}
public class MenuPrincipale extends JFrame {
public MenuPrincipale() throws Exception {
addWindowListener(new GestoreFinestra(this));
getContentPane().setLayout(new GridBagLayout());
setTitle("Mini Agenda Java");
GridBagConstraints c = new GridBagConstraints();
GestoreEventi ge = new GestoreEventi(this);
c.fill = GridBagConstraints.BOTH;
JLabel titolo1 = new JLabel ();
titolo1.setText("Menu Principale");
c.gridwidth = GridBagConstraints.REMAINDER;
getContentPane().add(titolo1,c);
listacontatti = new JList(listanome);
listacontatti.setFixedCellWidth(200);
listacontatti.setFixedCellHeight(20);
listacontatti.setSelectedIndex(0);
listacontatti.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
c.gridheight = 6;
c.gridwidth = GridBagConstraints.RELATIVE;
getContentPane().add(new JScrollPane(listacontatti),c);
pulsanteinserisci.setText("Aggiungi Contatto");
pulsanteinserisci.addActionListener(ge);
c.gridheight = 1;
c.gridwidth = GridBagConstraints.REMAINDER;
getContentPane().add(pulsanteinserisci,c);
pulsantemodifica.setText("Modifica Contatto");
pulsantemodifica.addActionListener(ge);
c.gridwidth = GridBagConstraints.REMAINDER;
getContentPane().add(pulsantemodifica,c);
pulsanteelimina.setText("Elimina Contatto");
pulsanteelimina.addActionListener(ge);
getContentPane().add(pulsanteelimina,c);
pulsanteesporta.setText("Esporta Contatti");
pulsanteesporta.addActionListener(ge);
getContentPane().add(pulsanteesporta,c);
pulsanteimporta.setText("Importa Contatti");
pulsanteimporta.addActionListener(ge);
getContentPane().add(pulsanteimporta,c);
pulsanteesci.setText("Esci");
pulsanteesci.addActionListener(ge);
getContentPane().add(pulsanteesci,c);
pack();
Toolkit toolkit = getToolkit();
Dimension dim = toolkit.getScreenSize();
setLocati0n((dim.width-getWidth())/2, (dim.height-getHeight())/2);
setDefaultCloseOperati0n(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setVisible(true);
setEnabled(true);
}
}
public class MenuInserisciModifica extends JFrame {
public MenuInserisciModifica() throws Exception {
addWindowListener(new GestoreFinestra(this));
getContentPane().setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
GestoreEventi ge = new GestoreEventi(this);
c.fill = GridBagConstraints.BOTH;
JLabel titolo1 = new JLabel ();
titolo1.setText("Nome:");
c.gridwidth = GridBagConstraints.RELATIVE;
getContentPane().add(titolo1,c);
testonome.setSize(300,300);
c.gridwidth = GridBagConstraints.REMAINDER;
c.weightx = 12;
getContentPane().add(testonome,c);
JLabel titolo2 = new JLabel ();
titolo2.setText("Cognome:");
c.gridwidth = GridBagConstraints.RELATIVE;
c.weightx = 2;
getContentPane().add(titolo2,c);
c.gridwidth = GridBagConstraints.REMAINDER;
getContentPane().add(testocognome,c);
JLabel titolo3 = new JLabel ();
titolo3.setText("Telefono:");
c.gridwidth = GridBagConstraints.RELATIVE;
getContentPane().add(titolo3,c);
c.gridwidth = GridBagConstraints.REMAINDER;
getContentPane().add(testotelefono,c);
pulsanteinseriscimodifica.addActionListener(ge);
getContentPane().add(pulsanteinseriscimodifica,c);
setSize(400, 150);
Toolkit toolkit = getToolkit();
Dimension dim = toolkit.getScreenSize();
setLocati0n((dim.width-getWidth())/2, (dim.height-getHeight())/2);
setDefaultCloseOperati0n(JFrame.DO_NOTHING_ON_CLOSE);
setResizable(false);
setVisible(true);
setEnabled(true);
}
public void aggiorna(){
if (emodifica == true) {
setTitle("Menu Modifica");
pulsanteinseriscimodifica.setText("Modifica");
int posizione = listacontatti.getSelectedIndices()[0];
testonome.setText(listanome[posizione]);
testocognome.setText(listacognome[posizione]);
testotelefono.setText(listatelefono[posizione]);
} else {
setTitle("Menu Inserisci");
pulsanteinseriscimodifica.setText("Inserisci");
testonome.setText("");
testocognome.setText("");
testotelefono.setText("");
}
}
}
}
NB : Il codice è liberamente utilizzabile a patto che venga citato l'autore e il forum dove lo si è trovato.
Reaulece- Novizio
- Numero di messaggi : 25
Età : 41
Località : Belluno
Data d'iscrizione : 29.09.08
Pagina 1 di 1
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.
Dom Giu 02, 2013 4:30 pm Da ruggiero98
» problema con la funzione SE aiutoooo x favore?????
Dom Giu 02, 2013 4:18 pm Da ruggiero98
» aiuto in programma con if
Dom Mag 26, 2013 5:39 pm Da ruggiero98
» CALCOLO PERCENTUALE IN C
Sab Apr 20, 2013 8:22 pm Da ruggiero98
» Costruire un temporizzatore software per accensione luci a led
Lun Mar 25, 2013 2:34 pm Da Cristina Shady
» Ciao a tutti!
Gio Mar 22, 2012 4:19 am Da cosmos91
» Virtualbox VS le periferiche USB
Mar Apr 06, 2010 1:49 pm Da dandeciani
» PROGRAMMA: BINARY CODE
Mar Dic 23, 2008 7:28 pm Da Thalionwen
» saluti a tutti
Mar Dic 23, 2008 7:12 pm Da Thalionwen
» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Prima Parte]
Sab Nov 29, 2008 11:44 am Da ya89
» un semplice ciao
Sab Nov 29, 2008 11:38 am Da ya89
» Aiuto per alice 7 mega
Ven Nov 14, 2008 4:03 pm Da root
» FORUM: I nuovi banner
Ven Nov 14, 2008 2:48 pm Da Thalionwen
» Zooming Ricorsivo, questo sconosciuto.
Ven Nov 14, 2008 2:43 pm Da Thalionwen
» GUIDA : LEZIONE 4 : UTILIZZARE GLI ARRAY IN C#
Ven Nov 14, 2008 1:54 pm Da ab89
» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Terza e Ultima Parte]
Ven Nov 14, 2008 12:41 am Da ab89
» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Seconda Parte]
Mer Nov 12, 2008 12:59 am Da ab89
» [PS2] Dark Cloud
Mar Nov 11, 2008 6:50 pm Da ab89
» [PC] Sacred 2
Lun Nov 10, 2008 10:49 pm Da ab89
» GUIDA : CAP 1 LEZIONE 3 INTRODUZIONE AGLI ARRAY
Lun Nov 10, 2008 1:37 pm Da ab89