[ stevan_nk @ 12.06.2011. 15:51 ] @
Napisao sam jedan mali programčić koji kada upišete podatke ime , prezime ... i kliknete dugme Sačuvaj progam sve podatke sačuva u fajlu Kontakt.txt . Napravio sam GUI pomoću Window Builder plugina za Eclipse koristeći Swing biblioteku . Problem je sledeći što kad hoću da ispišem još jedan red u fajlu program samo overwrite-uje postojeće ime,prezime... a ja hoću da svaki klik na dugme "Sačuvaj" upisuje novi red u fajl. Evo izvornog koda : Code: package GUIzadaci; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JLabel; import com.jgoodies.forms.layout.FormLayout; import com.jgoodies.forms.layout.ColumnSpec; import com.jgoodies.forms.factories.FormFactory; import com.jgoodies.forms.layout.RowSpec; import javax.swing.JButton; import java.awt.Font; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.FileWriter; import java.io.PrintWriter; import javax.swing.JFormattedTextField; public class GUIzadatak { JFrame frmPodaciBeta; JLabel lblJmbg; JButton btnSave; JLabel lblDrava; private JFormattedTextField tfIme; private JFormattedTextField tfPrezime; private JFormattedTextField tfUlica; private JFormattedTextField tfGrad; private JFormattedTextField tfDržava; private JFormattedTextField tfBroj; private JFormattedTextField tfJMBG; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { GUIzadatak window = new GUIzadatak(); window.frmPodaciBeta.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the application. */ public GUIzadatak() { initialize(); } /** * Initialize the contents of the frame. */ void initialize() { frmPodaciBeta = new JFrame("Podaci 1.0 Beta"); frmPodaciBeta.setTitle("Podaci 1.1 "); frmPodaciBeta.getContentPane().setFont(new Font("DejaVu Sans", Font.PLAIN, 12)); frmPodaciBeta.setBounds(100, 100, 412, 257); frmPodaciBeta.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frmPodaciBeta.getContentPane().setLayout(new FormLayout(new ColumnSpec[] { ColumnSpec.decode("min(50dlu;default)"), ColumnSpec.decode("min(50dlu;default):grow"),}, new RowSpec[] { FormFactory.DEFAULT_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.RELATED_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.RELATED_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC, FormFactory.RELATED_GAP_ROWSPEC, FormFactory.DEFAULT_ROWSPEC,})); JLabel lblNewLabel = new JLabel("Ime"); frmPodaciBeta.getContentPane().add(lblNewLabel, "1, 1, left, default"); tfIme = new JFormattedTextField(); frmPodaciBeta.getContentPane().add(tfIme, "2, 1, fill, default"); JLabel lblPrezime = new JLabel("Prezime"); frmPodaciBeta.getContentPane().add(lblPrezime, "1, 2, left, default"); tfPrezime = new JFormattedTextField(); frmPodaciBeta.getContentPane().add(tfPrezime, "2, 2, fill, default"); JLabel lblUlica = new JLabel("Ulica"); frmPodaciBeta.getContentPane().add(lblUlica, "1, 3, left, default"); tfUlica = new JFormattedTextField(); frmPodaciBeta.getContentPane().add(tfUlica, "2, 3, fill, default"); JLabel lblGrad = new JLabel("Grad"); frmPodaciBeta.getContentPane().add(lblGrad, "1, 4, left, default"); tfGrad = new JFormattedTextField(); frmPodaciBeta.getContentPane().add(tfGrad, "2, 4, fill, default"); lblDrava = new JLabel("Država"); frmPodaciBeta.getContentPane().add(lblDrava, "1, 5, left, default"); tfDržava = new JFormattedTextField(); frmPodaciBeta.getContentPane().add(tfDržava, "2, 5, fill, default"); JLabel lblBroj = new JLabel("Broj"); frmPodaciBeta.getContentPane().add(lblBroj, "1, 6, left, default"); tfBroj = new JFormattedTextField(); frmPodaciBeta.getContentPane().add(tfBroj, "2, 6, fill, default"); lblJmbg = new JLabel("JMBG"); frmPodaciBeta.getContentPane().add(lblJmbg, "1, 7, left, default"); tfJMBG = new JFormattedTextField(); frmPodaciBeta.getContentPane().add(tfJMBG, "2, 7, fill, default"); btnSave = new JButton("Sačuvaj"); btnSave.setBackground(Color.ORANGE); btnSave.setForeground(Color.BLUE); btnSave.setFont(new Font("DejaVu Sans", Font.BOLD, 12)); frmPodaciBeta.getContentPane().add(btnSave, "2, 11, center, default"); btnSave.addActionListener(new ActionListener() { // Treba promjeniti kod da više puta može da se unese ! ! ! // Treba formatirati text polja ! public void actionPerformed(ActionEvent e) { String ime; String prezime; String ulica; String grad; String drzava; String broj; String JMBG; ime=tfIme.getText(); prezime=tfPrezime.getText(); ulica=tfUlica.getText(); grad=tfGrad.getText(); drzava=tfDržava.getText(); broj=tfBroj.getText(); JMBG=tfJMBG.getText(); try{ FileWriter fstream = new FileWriter("Kontak.txt"); PrintWriter out = new PrintWriter(fstream); out.println( "Ime: "+ime+";"+ "Prezime: "+prezime+";"+ "Ulica: "+ulica+";"+ "Grad: "+grad+";"+ "Država: "+drzava+";" +"Broj: "+broj+";"+ "JMBG: "+JMBG+";"); out.close(); }catch (Exception i){ System.err.println("Error: " + i.getMessage()); } } }); } } |