Jak podzielic Okno programu na 2 czescil ?

0

Witam wszystkich.
Chcial bym podzielic okno na dwie czesci, gdzie w gornej beda wykresy a na dole chce podawac dane i miec przycisk oblicz. Nie bardzo wiem w jakis sposob podzielic te okno na czesci. Gdy dodaje jakies pole tekstowe to w ogóle sie ono nie pojawia, chyba ze zmienie rozmiar okna, wtedy znikaja wykresy i pojawia sie pole tekstowe.

import java.awt.event.*;
import java.awt.geom.*;
import java.awt.*;
import java.awt.Font;

public class Rysunek extends Frame 
{
	Rysunek () 
	{
		super ("Rysunki");
		setSize(800, 600);
                 }
	public void RysujOsie (Graphics g) 
	{
		g.setColor(Color.black);		
				
                 	g.drawLine (20, 20, 20, 260);  		//os x//Wykres 
		g.drawLine (15, 30, 20, 20);
		g.drawLine (25, 30, 20, 20);
		g.drawString ("y",5, 30);
				
		g.drawLine (20, 260, 260, 260); 	//os y
		g.drawLine (250, 255, 260, 260);
		g.drawLine (250, 265, 260, 260);
		g.drawString ("x",250, 280);
		
		
		g.drawLine (280, 20, 280, 260);  	//Wykres 2
		g.drawLine ( 275, 30,280, 20);
		g.drawLine ( 285, 30,280, 20);
		g.drawString ("y",265, 30);
		
		
		g.drawLine (280, 260, 520,260);   
		g.drawLine (510, 255, 520,260);
		g.drawLine (510, 265, 520,260);
		g.drawString ("x",510, 280);
	
		g.drawLine (540, 20, 540, 260);  	//Wykres 3
		g.drawLine (535, 30, 540, 20);
		g.drawLine (545, 30, 540, 20);
		g.drawString ("y",525, 30);
		
		
		g.drawLine (540, 260, 780,260);  
		g.drawLine (770, 255, 780,260);
		g.drawLine (770, 265, 780,260);
		g.drawString ("x",770, 280);
	}
	
	public void RysujKrzyzyk(Graphics g, int P, Krzyzyk K1)
	{ 
		int pX[]={0, 20,280,540};		// zmienne dla przesuniecia
		int pY=260;
	
		int x[]={pX[P]+(int)K1.P1.Ax, pX[P]+(int)K1.P1.Bx, pX[P]+(int)K1.P1.Bx, 
			     pX[P]+(int)K1.P2.Bx, pX[P]+(int)K1.P2.Cx, pX[P]+(int)K1.P1.Cx,
		    	 pX[P]+(int)K1.P1.Cx, pX[P]+(int)K1.P1.Dx, pX[P]+(int)K1.P1.Ax,
		     	 pX[P]+(int)K1.P2.Dx, pX[P]+(int)K1.P2.Ax, pX[P]+(int)K1.P1.Ax};
			 
		int y[]={pY-(int)K1.P1.Ay, pY-(int)K1.P1.By, pY-(int)K1.P2.Ay, 
				 pY-(int)K1.P2.By, pY-(int)K1.P2.Cy, pY-(int)K1.P2.Cy,
				 pY-(int)K1.P1.Cy, pY-(int)K1.P1.Dy, pY-(int)K1.P2.Dy,
			 	 pY-(int)K1.P2.Dy, pY-(int)K1.P2.Ay, pY-(int)K1.P2.Ay};
	  	g.setColor(Color.green);
		g.fillPolygon(x,y,12);
	}
	
	public void paint (Graphics g) 
	{
		//Graphics2D g2 = (Graphics2D) g;
		Insets insets = getInsets();
		g.translate (insets.left, insets.top);
		setLocation( 10,10);
		RysujOsie(g);
		
		Krzyzyk K= new Krzyzyk(20);
		RysujKrzyzyk(g, 1, K);
		Krzyzyk K1= new Krzyzyk(10);
		RysujKrzyzyk(g, 2, K1);
		
		
		K.Razy(K1);
		RysujKrzyzyk(g, 3,K);
		g.setColor(Color.black);
		g.drawString ("Działania na obiektach :",20,300);
		//setLayout(new GridLayout(),10,20);
		g.drawString ("Działania na obiektach :",20,300);
		
	 String tekst = " Zycie cóż dla mnie masz?";
     TextArea obszarTekstowy1 = new TextArea(tekst,1,30);
     add(obszarTekstowy1)
	}
	
public static void main (String [] args) 
{
	Frame f = new Rysunek ();
	f.addWindowListener(new WindowAdapter()
	{
		public void windowClosing(WindowEvent e)
		{
			//System.out.println("Dziekujemy za prace z programem...");
			System.exit(0);
		}
	});
	f.setVisible(true);
}
}
0

Moze sproboj zamiast wywoływac metode paint głównej kalsy Dodać obiekt typu Canvas i na nim rysować.

0

Pawelku a byl bys tak dobry i mi mniej wiecej napisal jak to w/g Cie powinno wygladac?? barrrrrrdzo prosze :d

0

Wez sobie rozklad np borderLayout ne "Center" wstaw obiekt typu Canvas i wywołuj jego metode paint, Zaś na dole ("South") wstaw panel oparty na GridLayout i tam sobie w polach tekstwocyh wpisuj/wypisuj dane i zwtwierdzaj rownież tam umieszczonym pzryciskiem. Po wcisnieciu pzrycisku zmieniasz parametry rysowania według wprowadoznych danych i odrysowujesz powierzchnię Canvas.

0

Problem w tym ze troche sie w tym gubie, za duzo wszystkiego na raz.
Jak bys mogl mi bardziej obrazowo wyjasnic, np jakis szablon kodu??

Mam dwie ksiazki, ale jakos w jednej jest tylko wspomniene o tym, a w tej 2 jakos malo zrozumiele.

0

:| Co to za kod [!!!]
Zainstaluj sobie NetBeans albo Eclipse z pluginami (sa darmowe) a tam juz sobie powyciagasz gotowe komponenty na formularz (rozumiem ze masz problem z Layout'ami), ulozysz wedle uznania, pod zdarzenie przycisku wcisniesz to swoje malowanie wykresu i potem juz tylko RUN... dziala? Musi dzialac :] Prost, milo i przyjemnie [green]

0

Mam pytanie, a jak nazywa sie ten plugin eclispe do formularzy ?

0

Tu masz plugin'y
http://eclipse-plugins.2y.net/eclipse/plugins.jsp
Na poczatku troche trudno sie polapac gdzie co jest na tej stronce ale po chwili juz spoko.
w dziale UI znajdziesz plugin'y do tworzeniua Interfejsu uzytkownika. Kiedys korzystalem chyba (podkreslam chyba) z "SWT/AWT Layout Managers", ale ostatecznie przesiadlem sie NetBeans'a ktory ma wbudowany taki edytor i rowniez jest darmowy.

0

Najpopularniejszym i darmowym jest VisualEditor. Żeby go zainstalować najlepiej zrobić tak:

  1. W Eclipse dajesz Help->Software Updates->Find and Install

  2. Search for new fatures i next

  3. New remote site: wpisujesz nazwę np. VisualEditor i podajesz ścieżkę:
    http://update.eclipse.org/tools/ve/updates/1.0

  4. Zatwierdzasz, zaznaczasz wszystkie checkBoxy (prawodopobnie będą 2) i klikasz Finish.

To będzie długo trwało, bo oprócz VisualEditora zainstaluje masę różnych innych technologi (VisualEditor korzysta z kilku z nich). W tym czasie radzę sobie zrobić kawę albo iść coś zjeść, no chyba że masz jakieś wypaśne łącze z 10Mb/s to może warto zaczekać przed kompem ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1