Šta je novo?

Pomoc totalnom java duduku

activated1

Slavan
Učlanjen(a)
12.12.2004
Poruke
3,053
Poena
409
Elem o chemu je rech. Na mom faksu (Pedagoshki fakultet Sombor, smer informatika i dizajn medija) su odluchili da ubace javu u program. Jve bi to bilo OK da se to ne uchi po crash course varijanti, a treba josh drodati da asistent koji nam drzi javu ustvari je uchio C pa se sad prilagodjuje ovome.

Od ovog semstra se baviomo sa GUI-em i pravili smo svoje toboz prve GUI aplikacije. Naravno vecina blene u slajdove sa kodovima kao tele u sarena vrata, a bogami ni ja nisam deleko, al kao neshto kontam. E sad za sledece vezbe bi mi trebali da donesemo malo izmenjen kod od onoga shto smo vezbali. Ja evo vec preko dva sata pokushvam da izmenim kod da uradi ono shto ja zelim, ali bez uspeha (nije ni chudno kad se uzme u obzir koliko znam javu) :)

Ovo je trenutni kod:
Kod:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class MainFrame extends JFrame {
	public MainFrame(){
		setSize(800,600);
		setTitle("My Homework GUI App");
		setLocation(150,150);
		

	
		getContentPane().setLayout(new GridLayout(25,25));
		getContentPane().add(bOK);
		getContentPane().add(bExit);
	}
	

	private JButton bOK = new JButton("OK");
	private JButton bExit = new JButton("Exit");
	
	

}

public class Homework {
	public static void main(String[] args)
	{MainFrame mf = new MainFrame();
		mf.setVisible(true);
	}

}

Evo shta bi ja hteo, ja bi hteo da pozicioniram ova dva butona uz donju ivicu prozora, jedan sa leve strane drugi sa desne, naravno ja nemam pojma kako ovo da uradim. Drugi problem se ogleda u tome shto ne znam kako da objasnim progrmu da kad kliknem na Exit da mi zatvori prozor, na tu tematiku sam i nashao neshto, al sam onda uspeo da na oba butona zatvaram prozor shto mi nije cilj. Ako je neko raspolozen da mi pojasni ovo malo bio bih mu zahvalan :wave:
 
Poslednja izmena:
uh... uhvatio si se u Swing koji nije ni malo prost.

ajde ovako, za rasporedjivanje dugmica ti treba da malo razumes magiju odavde

a da bi ti exit dugme radilo tvom MainFrame-u kazes : setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

e sada, ovo ti je samo pomoc da ti proradi primer, a ako hoces da radis swing, moras "malo da citas" sun-ov tutorijal.
 
uh... uhvatio si se u Swing koji nije ni malo prost.

ajde ovako, za rasporedjivanje dugmica ti treba da malo razumes magiju odavde

a da bi ti exit dugme radilo tvom MainFrame-u kazes : setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

e sada, ovo ti je samo pomoc da ti proradi primer, a ako hoces da radis swing, moras "malo da citas" sun-ov tutorijal.

Hvala, probacu ovo :)

nisam se ja uhvatio za swing, nego profesor, ja oko jave malo znam tako da sve inicira profa, a mi radimo kako on kaze. Thank josh jednom :wave:
 
Kod:
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
class MainFrame extends JFrame {
	public MainFrame(){
		setSize(800,600);
		setTitle("My Homework GUI App");
		setLocation(150,150);
		

	
		getContentPane().setLayout(new GridLayout(25,25));
		getContentPane().add(bOK);
		getContentPane().add(bExit);
		[B]ZatvaranjeProzora osluskivac = new ZatvaranjeProzora();
		bExit.addActionListener( osluskivac);
	}
	private class ZatvaranjeProzora implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			dispose();
		}
	}[/B]
	

	private JButton bOK = new JButton("OK");
	private JButton bExit = new JButton("Exit");
}

(klasa Homework ostaje ista)

Ovo je veoma prosto (moglo je i sa manje koda ali sam razlozio) pa da ti ne objasnjavam evo sta trebas tacno da naucis: sta je interface i na sta si obavezan kada ga implementiras. I nauci okruzenje: metode addActionListener i dispose i interface ActionListener.
 
Kod:
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
class MainFrame extends JFrame {
	public MainFrame(){
		setSize(800,600);
		setTitle("My Homework GUI App");
		setLocation(150,150);
		

	
		getContentPane().setLayout(new GridLayout(25,25));
		getContentPane().add(bOK);
		getContentPane().add(bExit);
		[B]ZatvaranjeProzora osluskivac = new ZatvaranjeProzora();
		bExit.addActionListener( osluskivac);
	}
	private class ZatvaranjeProzora implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			dispose();
		}
	}[/B]
	

	private JButton bOK = new JButton("OK");
	private JButton bExit = new JButton("Exit");
}

(klasa Homework ostaje ista)

Ovo je veoma prosto (moglo je i sa manje koda ali sam razlozio) pa da ti ne objasnjavam evo sta trebas tacno da naucis: sta je interface i na sta si obavezan kada ga implementiras. I nauci okruzenje: metode addActionListener i dispose i interface ActionListener.

Hvala puno, meni je josh uvek ovo sve shpansko selo, a kako je krenulo do kraja semestra necemo puno ni uraditi i onda ce da bude ona varijanta "gde si bio -> nigde, shta si radio -> nishta" :S:
 
Hvala puno, meni je josh uvek ovo sve shpansko selo, a kako je krenulo do kraja semestra necemo puno ni uraditi i onda ce da bude ona varijanta "gde si bio -> nigde, shta si radio -> nishta" :S:

Tako sam se ja osecao posle zavrsetka semestra i rada sa C++ i Visual Basicom,gde si bio nigde sta si radio,nista.:D
 
Tako je bilo proshle godine sa bazama, po planu i progaramu ja sam trebao da razbijam Access i da se solidno snalazim sa MySQL-om. A mi ni osnove Access-a nismo savladali...

Ja sam dosao do zakljucka da se na fax-u moze steci povrsno osnovno znanje.Ko hoce da to nauci uzme lepo knjigu zatvori se u sobu i polivaj po nauci bi to access,dreamveawer,c++,visual basic i ostalo.:)
 
Ja sam dosao do zakljucka da se na fax-u moze steci povrsno osnovno znanje.Ko hoce da to nauci uzme lepo knjigu zatvori se u sobu i polivaj po nauci bi to access,dreamveawer,c++,visual basic i ostalo.:)

Eh i ja sam to skontao. U shkoli/faksu se stvarno ne moze nishta korisno nauchit. Neshto malo teorije i to je to, ko hoce neshto da nauchi, nauchice sam :type:

:wave:
 
Ajde da pitam jel ima neko primere koje bi zadovoljili dole nevedene uslove i voljan je da ih podeli pa da zbudzim neshto za seminarski :)

Znachi da ima drop menije gore, text fiel, check box, radio button, obichan button, tabove, da se klikom na neko dugme otvori novi prozor i tako to. Znachi za nekog ko se razume u materiju veravatno vrlo prosto, al za mene bash i nije :d

U napred hvala :wave:
 
Moze neko da mi objasni zashto ne radi ovaj kod? Meni nije jasno u chemu je problem :\

I jel moze neko da mi objasni kako da se klikom na JButton otvori josh jedan JFrame pored postojeceg?


:wave:

Kod:
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
class Exp extends JFrame {
	
	JSlider sb = new JSlider(JSlider.HORIZONTAL, 1,50, 10);
	
	public Exp(){
		setTitle("Expert options");
		setSize (450,200);
	
		
		
		    
		   JPanel p1 = new JPanel ();
		   p1.setLayout(new FlowLayout());
		   p1.add(l);
		   p1.add(bH);
		   	bH.addActionListener (new ActionListener (){
			public void actionPerformed (ActionEvent ev) {
			int r= (int) Math.round (Math.random ()*256);
			int g = (int) Math.round (Math.random ()*256);
			int b = (int)Math.round (Math.random ()* 256);
		bH.setBackground (new Color (r,g,b)); 
		   		}	
	}); 

		   
		   JPanel p2 = new JPanel ();
		   
		   p2.setLayout(new FlowLayout());
		 

   		
		  
		   
		   jezicci.addTab ("Extra Options", p1);
		   getContentPane().add (jezicci);

		   
		   
		   jezicci.addTab ("Scan Speed", p2);
		   Container cp = getContentPane();
		   getContentPane().add (jezicci);
		    p2.add(l1);
		    sb.setValue(25);
   			sb.setPaintTicks(true);
   			sb.setMajorTickSpacing(20);
   			sb.setMinorTickSpacing(5);
   	
   			p2.add(sb); 
		   	p2.add(l2);
		  
	}
	

	JButton bH = new JButton ("Highlight Color");
	JLabel l = new JLabel ("Select:  ");
	JLabel l1 = new JLabel ("Acurate");
	JLabel l2 = new JLabel ("Fast");
	JTabbedPane jezicci = new JTabbedPane();
	;
}
public class MyApp12 {
	public static void main (String[] args){
		Exp ex = new Exp();
		ex.setVisible (true);
	}
}
 
Da bi radilo, umesto,

import javax.swing.event.*;

stavi,

import java.awt.event.*;

I dodaj boldovan kod da bi se otvorio novi frame kada kliknes na dugme,

Kod:
bH.addActionListener (new ActionListener () {
               public void actionPerformed (ActionEvent ev) {
                   int r = (int) Math.round(Math.random() * 256);
                   int g = (int) Math.round(Math.random() * 256);
                   int b = (int) Math.round(Math.random() * 256);
                   bH.setBackground (new Color (r,g,b));
                   [B]JFrame noviProzor = new JFrame();
                   noviProzor.setSize(300, 200);
                   noviProzor.setVisible(true);[/B]
               }
           });;

Negde u telu konstruktora dodaj sledecu liniju, da bi se, kad zatvoris glavni frame, i aplikacija zavrsila.

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
Hvala probao sam ovo prvo i shljaka :)

E sad imam josh jedno pitanje, oko ovog otvaranaj novog JFrame-a. Ja vec u kodu imam dva JFrame-a class Pretrazivac extends JFrame koji se pokrece po startovanju programa i imam josh class Exp extends JFrame koji bi hteo da se pokrene klikom na dugme. Kako to da napravim? :)

:wave:
 
Napravi dugme u klasi Pretrazivac i dodaj mu actionListener kao sto ti je rekao this pointer(znaci samo to boldovano), samo sto ces napisati Exp noviProzor = new Exp(). Mozes i da obrises main metodu iz Exp klase (verovatno si je koristio kao test samo).
 
Pozdrav dobri ljudi ;-) jao ja nemam pojma JAVU a trebaju mi slike tj formee programa u javi kako izgleda samo slika u paintu ;-) za Porudzbenicu i Radnika evo slika JAVA je primer kako treba da izgleda...treba ista boja i tome slicno ;-) ako je nekom dosadnoo neka ....pomogne ;-)
 

Prilozi

  • java.jpg
    java.jpg
    13.2 KB · Pregleda: 56
  • porudzbenica.jpg
    porudzbenica.jpg
    25.2 KB · Pregleda: 109
  • radnik.jpg
    radnik.jpg
    17.9 KB · Pregleda: 62
Poslednja izmena:
Nazad
Vrh Dno