Šta je novo?

Pomoc totalnom java duduku

activated1

3.5" Floppy
Učlanjen(a)
12.12.2004
Poruke
3,053
Poena
36
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:

TEP3A

3.5" Floppy
Učlanjen(a)
07.02.2002
Poruke
1,665
Poena
63
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.
 

activated1

3.5" Floppy
Učlanjen(a)
12.12.2004
Poruke
3,053
Poena
36
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:
 

this_pointer

Flash Drive
Učlanjen(a)
07.10.2008
Poruke
141
Poena
0
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.
 

activated1

3.5" Floppy
Učlanjen(a)
12.12.2004
Poruke
3,053
Poena
36
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:
 

Show_Man

3.5" Floppy
Učlanjen(a)
30.11.2007
Poruke
1,004
Poena
36
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
 

activated1

3.5" Floppy
Učlanjen(a)
12.12.2004
Poruke
3,053
Poena
36
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...
 

Show_Man

3.5" Floppy
Učlanjen(a)
30.11.2007
Poruke
1,004
Poena
36
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.:)
 

activated1

3.5" Floppy
Učlanjen(a)
12.12.2004
Poruke
3,053
Poena
36
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:
 

activated1

3.5" Floppy
Učlanjen(a)
12.12.2004
Poruke
3,053
Poena
36
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:
 

cyberdude

3.5" Floppy
Učlanjen(a)
24.12.2002
Poruke
814
Poena
18
Skini Netbeans (Jave SE verziju, 39 MB) sa www.netbeans.org
Na istom sajtu imas tutorijale za pocetnike kako napraviti GUI aplikaciju, korak po korak
 

activated1

3.5" Floppy
Učlanjen(a)
12.12.2004
Poruke
3,053
Poena
36
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);
	}
}
 

this_pointer

Flash Drive
Učlanjen(a)
07.10.2008
Poruke
141
Poena
0
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);
 

activated1

3.5" Floppy
Učlanjen(a)
12.12.2004
Poruke
3,053
Poena
36
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:
 

activated1

3.5" Floppy
Učlanjen(a)
12.12.2004
Poruke
3,053
Poena
36
Ljudi josh samo to mi treba i onda sam kontachno gotov sa javom :)
 

GuiLe

Flash Drive
Učlanjen(a)
02.10.2007
Poruke
113
Poena
0
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).
 

activated1

3.5" Floppy
Učlanjen(a)
12.12.2004
Poruke
3,053
Poena
36
Blagodararim :)

Ne mogu da verujem da sam konachno gotov sa ovim seminarom, josh jednom hvala svima :wave:
 

Qler01

Flash Drive
Učlanjen(a)
13.05.2009
Poruke
3
Poena
0
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:
Vrh Dno