Informatica Programmabile
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.
Accedi

Ho dimenticato la password

Ultimi argomenti attivi
» argomento
Mini Agenda EmptyDom Giu 02, 2013 4:30 pm Da ruggiero98

» problema con la funzione SE aiutoooo x favore?????
Mini Agenda EmptyDom Giu 02, 2013 4:18 pm Da ruggiero98

» aiuto in programma con if
Mini Agenda EmptyDom Mag 26, 2013 5:39 pm Da ruggiero98

»  CALCOLO PERCENTUALE IN C
Mini Agenda EmptySab Apr 20, 2013 8:22 pm Da ruggiero98

» Costruire un temporizzatore software per accensione luci a led
Mini Agenda EmptyLun Mar 25, 2013 2:34 pm Da Cristina Shady

» Ciao a tutti!
Mini Agenda EmptyGio Mar 22, 2012 4:19 am Da cosmos91

» Virtualbox VS le periferiche USB
Mini Agenda EmptyMar Apr 06, 2010 1:49 pm Da dandeciani

» PROGRAMMA: BINARY CODE
Mini Agenda EmptyMar Dic 23, 2008 7:28 pm Da Thalionwen

» saluti a tutti
Mini Agenda EmptyMar Dic 23, 2008 7:12 pm Da Thalionwen

» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Prima Parte]
Mini Agenda EmptySab Nov 29, 2008 11:44 am Da ya89

» un semplice ciao
Mini Agenda EmptySab Nov 29, 2008 11:38 am Da ya89

» Aiuto per alice 7 mega
Mini Agenda EmptyVen Nov 14, 2008 4:03 pm Da root

» FORUM: I nuovi banner
Mini Agenda EmptyVen Nov 14, 2008 2:48 pm Da Thalionwen

» Zooming Ricorsivo, questo sconosciuto.
Mini Agenda EmptyVen Nov 14, 2008 2:43 pm Da Thalionwen

» GUIDA : LEZIONE 4 : UTILIZZARE GLI ARRAY IN C#
Mini Agenda EmptyVen Nov 14, 2008 1:54 pm Da ab89

» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Terza e Ultima Parte]
Mini Agenda EmptyVen Nov 14, 2008 12:41 am Da ab89

» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Seconda Parte]
Mini Agenda EmptyMer Nov 12, 2008 12:59 am Da ab89

» [PS2] Dark Cloud
Mini Agenda EmptyMar Nov 11, 2008 6:50 pm Da ab89

» [PC] Sacred 2
Mini Agenda EmptyLun Nov 10, 2008 10:49 pm Da ab89

» GUIDA : CAP 1 LEZIONE 3 INTRODUZIONE AGLI ARRAY
Mini Agenda EmptyLun Nov 10, 2008 1:37 pm Da ab89

Flusso RSS


Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 



Mini Agenda

Andare in basso

Mini Agenda Empty Mini Agenda

Messaggio Da Reaulece Lun Set 29, 2008 8:32 pm

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.

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
Reaulece
Novizio
Novizio

Numero di messaggi : 25
Età : 41
Località : Belluno
Data d'iscrizione : 29.09.08

Torna in alto Andare in basso

Torna in alto


 
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.