[ NsBoy @ 24.05.2005. 07:29 ] @
Zadatak:
Implementirati Java aplikaciju koja obezbedjuje unos dva cela broja i izvrsenje sledecih operacija:
* sabiranje
* oduzimanje
* mnozenje
* deljenje
* ostatak od celobrojnog deljenja
Dva polja za unos prvog i drugog operanda.Obezbediti odgovarajuce labele koje ukazuju na namenu ovih polja.
izbor zeljene operacije obezbediti koriscenjem grupe radio dugmadi, koja treba da bude smestena u okvir sa naslovom "Operacija".
Iniciranje izracunavanja izabrane operacije treba da obezbedi dogadja aktiviranja dugmeta "Izracunaj".Ukoliko neki od operanada ima nedozvoljenu vrednost(nije ceo broj) aplikacija mora da obavesti korisnika o tome.Za prikaz poruke o gresci koristiti klasu javax.swing.JOptionPane i njenu staticku metodu showMessageDialog.
Prikaz rezultata obezbediti u polju ciji sadrzaj korisnik ne moze da menja.

Meni je konkretno potrebna pomoc u vezi koda(gde sta da napisem) jer sam grafici deo odradio.
Kada sam napravio graficke komponente dobio sam sledeci kod:
package mypackage1;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.Label;
import java.awt.Rectangle;
import java.awt.TextField;
import java.awt.Button;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JEditorPane;
import javax.swing.JOptionPane;
import java.awt.CheckboxGroup;
import oracle.jbo.uicli.controls.JURadioButtonGroupPanel;
import javax.swing.JPanel;


public class OrderEntryMDIFrame extends JFrame
{
JMenuItem menuFileExit = new JMenuItem();
JMenu menuFile = new JMenu();
JMenuBar menuBar1 = new JMenuBar();
Label label1 = new Label();
TextField textField1 = new TextField();
Label label2 = new Label();
TextField textField2 = new TextField();
Button button1 = new Button();
JRadioButton jRadioButton1 = new JRadioButton();
JRadioButton jRadioButton2 = new JRadioButton();
JRadioButton jRadioButton3 = new JRadioButton();
JRadioButton jRadioButton4 = new JRadioButton();
JRadioButton jRadioButton5 = new JRadioButton();
JTextField jTextField1 = new JTextField();
JLabel jLabel1 = new JLabel();
CheckboxGroup checkboxGroup1 = new CheckboxGroup();
JPanel jPanel1 = new JPanel();

public OrderEntryMDIFrame()
{
try
{
jbInit();
}
catch(Exception e)
{
e.printStackTrace();
}

}

private void jbInit() throws Exception
{
this.setJMenuBar(menuBar1);
this.getContentPane().setLayout(null);
this.setSize(new Dimension(412, 382));
this.setTitle("OrderEntryMDIFrame");
menuFile.setText("File");
label1.setText("Prvi operand");
label1.setBounds(new Rectangle(10, 15, 70, 20));
textField1.setBounds(new Rectangle(85, 15, 95, 25));
label2.setText("Drugi operand");
label2.setBounds(new Rectangle(10, 60, 75, 25));
textField2.setBounds(new Rectangle(85, 60, 95, 25));
button1.setLabel("Izracunaj");
button1.setBounds(new Rectangle(255, 20, 95, 25));
jRadioButton1.setText("Saberi");
jRadioButton2.setText("Oduzmi");
jRadioButton3.setText("Pomnozi");
jRadioButton4.setText("Podeli");
jRadioButton5.setText("Moduo");
jTextField1.setBounds(new Rectangle(260, 60, 90, 25));
jLabel1.setText("Rezultat");
jLabel1.setBounds(new Rectangle(205, 65, 45, 20));
jPanel1.setBounds(new Rectangle(65, 170, 225, 80));
menuFileExit.setText("Exit");
menuFileExit.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
fileExit_ActionPerformed(ae);
}
});
menuFile.add(menuFileExit);
menuBar1.add(menuFile);
jPanel1.add(jRadioButton1, null);
jPanel1.add(jRadioButton3, null);
jPanel1.add(jRadioButton2, null);
jPanel1.add(jRadioButton4, null);
jPanel1.add(jRadioButton5, null);
this.getContentPane().add(jPanel1, null);
this.getContentPane().add(jLabel1, null);
this.getContentPane().add(jTextField1, null);
this.getContentPane().add(button1, null);
this.getContentPane().add(textField2, null);
this.getContentPane().add(label2, null);
this.getContentPane().add(textField1, null);
this.getContentPane().add(label1, null);
}

void fileExit_ActionPerformed(ActionEvent e)
{
System.exit(0);
}

Zanima me gde treba da unesem kod koji ce raditi gore pomenute operacije i gde treba da postavim kod za obradu izuzetka?


}
[ pajac @ 24.05.2005. 16:44 ] @
Citat:
import oracle.jbo.uicli.controls.JURadioButtonGroupPanel;


Pa ja bi reko, da si to malo copy&paste-ao ;p
Trazis, da ti napravimo zadatak.To tako neide.

Evo ti postupak:

1.napravi osnovno okno
2.poredzaj komponente (dugmad in text polja) in nabaci label-e
3.kad imas to napravljeno, vrati se na početak programa in počni da pišeš kontrolere događaja za svaku komponentu.

Ti bi teo napisat obican kalkulator u GUI-ju, ako sam te dobro razumeo.
Kad naledis na problem javi, pa čemo ti pomoč.
[ x VITA x @ 24.05.2005. 17:17 ] @
trebas da dodas na dugme koje je za sabiranje action listener... i na ostale dugmice...

npr... ako imas

dugme za sabiraje saberi
text polje za unos unos

onda radis saberi.addActionListener(new MyControler(this))


a klasa MyControler izgleda

Code:

class MyControler implements ActionListener{
   public JFrame app;       
   
   public MyControler(JFrame app){
         this.app = app;
   }
   public void acrionPerformed(ActionEvent ae){
         int prviBroj;
         if(prviBroj!=null)               
                    prviBroj = Integer.parseInt(app.unos.getText());
         else {
                   int drugiBroj = Integer.parseInt(app.unos.getText());
                   app.unos.setText(Integer.toString(prviBroj+drugiBroj))      
         }
   }
}


nesto slicno i za ostale dugmice...bitno je da imas referencu na polje za unos... ja sam stavio da prosledjujes ceo prozor... a ti mozes i nekako drugacije...