[ ctpaba @ 27.04.2005. 22:04 ] @
imam jedan mali program u koji treba da unesete ime i da vam ispise kako se zovete i sve to lepo radi osim jedne stvari koja mi je jako vazna a to je try :(

evo kako izgleda moj code , moze li mi neko reci gde je greska ?

10x
Code:
                   
 import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class textbox extends JFrame  
{                        
    private JTextField name  = new JTextField(12);            
    private JTextField message = new JTextField(40);          
    private textbox()                                          
    {
        message.setEditable(false);                           
        JButton enter = new JButton("Dalje");           
        enter.addActionListener(new action());              
        JPanel p = new JPanel();
        p.setLayout(new FlowLayout());
        p.add(new JLabel("Entré votre Prenom"));
        p.add(name);
        p.add(enter);
        p.add(message);
        this.setContentPane(p);
     }
    public static void main(String[] agruments)               
    {
      textbox sal = new  textbox();
      sal.setTitle("Text-Box");             
      sal.setSize(550,150);                                  
      sal.show();                                            
    }
  private class action implements ActionListener
    {
        public void actionPerformed(ActionEvent a) 
        {
      String last = name.getText();                            
      try {
           if (last == null);                                    
            }
        catch (Exception e) {
            message.setText("Morate obavezno uneti vase ime ");
    }
            message.setText("Dobar dan gospodine, vase ime je " + last + " !" );
        }
    }    
    
  }


[Ovu poruku je menjao ctpaba dana 27.04.2005. u 23:51 GMT+1]

[Ovu poruku je menjao Milan Andjelkovic dana 28.04.2005. u 02:02 GMT+1]
[ Dejan Topalovic @ 27.04.2005. 22:31 ] @
Ne mozes imati dvije public klase u jednom fajlu.
[ ctpaba @ 27.04.2005. 23:00 ] @
pazi ovo je ovako radilo alsam ipak izmenio public na privat i i dalje sve radi osim tog try cath :(
trebalo bi kad ne uneses nista da ti vrati poruku da moras uneti neko ime

10x
[ tweeester @ 27.04.2005. 23:27 ] @
Pa
Code:

if (last == null);

nece nikada da generise exception! Logika bi trebala da bude ovakva:
Code:

if(last==null) {
   // Ovde obavestenje da je ime obavezno
} else {
   // Ovde obradis uneseno ime
}


exception ti uopste nije potreban, mada moze ovako (ako bas hoces exception-e da koristis):

Code:

try {
   Sustem.out.println("Your name is: "+last);
} catch (Exception e) {
   System.out.println("You have not entered your name!!!");
}
[ ctpaba @ 28.04.2005. 00:31 ] @
hmmm
Code:

try {
   Sustem.out.println("Your name is: "+last);
} catch (Exception e) {
   System.out.println("You have not entered your name!!!");
}


ne vidim kako ce znati ovde kad koju poruku da izbaci jer nigde nema uporedba dal je ili nije string prazan

dodao sam ispod
Code:
String last = name.getText();


sledecu liniju
Code:
      int size = last.length(); 

tako da sada mogu da stavim na primer

Code:
if (size == 0) {
     message.setText("Niste uneli vase ime ");   /
} else {
   message.setText("Dobar dan gospodine " + last + "); 
}


ali ja MORAM da koristim try catch exeption u ovom programu i sve moguce varijante koje sam isporobao ne rade :(
[ djura1 @ 28.04.2005. 07:41 ] @
Probaj ovako:
Code:

try {
           if (last == null)
               throw new NullPointerException();                     
            }
        catch (Exception e) {
            message.setText("Morate obavezno uneti vase ime ");
           return;
    }


Druga stvar: ako ne uneses nista za ime, mislim da se to tretira kao prazan String, a ne kao null. Doduse, mozda i gresim.
[ ctpaba @ 29.04.2005. 06:06 ] @
uz minimalnu izmenu ovo radi bez problema :)
puno se zahvaljujem svima na savetu

10x
[ Java Beograd @ 04.05.2005. 08:48 ] @
Drago mi je da ti je sve proradilo, ali:

Nikad ne koristi try - catch, za kontrolu toka programa ! Uvek za kontrolu toka programa koristi standarne komande (if, switch, for, do while ...)

Try - catch koristi za obradu nepredvidjenih događaja (grešaka).
[ Java Beograd @ 04.05.2005. 10:41 ] @
Kako je rečeno i u temi:

http://www.elitesecurity.org/tema/111024/0#739424
[ ctpaba @ 04.05.2005. 13:46 ] @
ma to je ok care nego ja sam na nekom kursu pa se ucimo a profa nam je to bio zadao kao zadatak

trazio je da napravimo polje za unos teksta, dugme, prikazivanje teksta i kontrolu gresaka sa try cath tako da nisam mogao da uoptrebim if else mada je to bilo 1000 puta lakse

btw 10x