Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Cum accesez site-ul CNAS ?

Algoritm simplu de calculare al u...

Bitdefender Total Security ș...

casa verde 2024
 Intrerupator cu N - doza doar cu ...

Incalzire casa fara gaz/lemne

Incalzire in pardoseala etapizata

Suprataxa card energie?!
 Cum era nivelul de trai cam din a...

probleme cu ochelarii

Impozite pe proprietati de anul v...

teava rezistenta panou apa calda
 Acces in Curte din Drum National

Sub mobila de bucatarie si sub fr...

Rezultat RMN

Numar circuite IPAT si prindere t...
 

Desenare multiple cercuri

- - - - -
  • Please log in to reply
4 replies to this topic

#1
raul1ro

raul1ro

    Member

  • Grup: Members
  • Posts: 591
  • Înscris: 17.02.2011
Vreau sa desenez mai mult de un cerc in interfata creata in java, dar tot timpul imi deseneaza doar ultimul cerc.
Acesta este codul pe care il am

Quote

Clasa Interfata
import javax.swing.*;
public class Interfata extends JPanel {
	 public static void main(String[] args) {
		 JFrame frame = new JFrame("");
		 frame.setSize(1000, 650);
		 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		 frame.setVisible(true);
	
		 Cerc cc = new Cerc(10,10,50);
		 Cerc cc1 = new Cerc(50,10,50);
		 frame.add(cc);
		 frame.add(cc1);
	 }
}

Clasa Cerc
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
public class Cerc extends Applet{
	 private int x,y,r;

	 Cerc(int x1, int y1, int r1){
		 x=x1;
		 y=y1;
		 r=r1;
	 }
	 public void paint(Graphics g) {
		 Graphics2D g2d = (Graphics2D) g;
		 g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
		 g2d.setColor(Color.blue);
		 g2d.fillOval(x, y, r, r);
	 }
}


In cazul meu imi deseaneaza doar cc1, iar daca sterg cc1 imi deseneaza cc. Eu vreau sa fie desenate ambele cercuri. Cum pot sa fac asta?

Edited by raul1ro, 30 March 2017 - 09:04.


#2
scarbavnicul_madular

scarbavnicul_madular

    Junior Member

  • Grup: Junior Members
  • Posts: 30
  • Înscris: 19.07.2016
Am modificat clasa Interfata:

Quote

JFrame frame = new JFrame("");
frame.setSize(1000, 650);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
  
Cerc cc = new Cerc(10,10,50);
Cerc cc1 = new Cerc(50,10,50);
//frame.add(cc);
//frame.add(cc1);

JPanel layout = new JPanel();
layout.setLayout(new BoxLayout(layout, BoxLayout.X_AXIS));
layout.add(cc);
layout.add(cc1);
frame.add(layout);

Rezultatul:

http://imgur.com/HXCtZKF

N-am mai folosit Java de mult timp, presupun ca logica din spate e ca atunci cand vrei sa desenezi componente multiple de tipul JPanel, Applet, etc, trebuie sa le bagi intr-un obiect de tip Layout (BorderLayout, CardLayout, BoxLayout, GridLayout etc), altfel e desenata doar una dintre componente / desenata componenta care este prima in ordinea de desenare(cine e mai "fresh" la capitolu' asta poate sa ma corecteze Posted Image)

Pt informatii mai multe despre cum se folosesc layout-urile: http://docs.oracle.c...layout/box.html

Edited by scarbavnicul_madular, 30 March 2017 - 12:16.


#3
raul1ro

raul1ro

    Member

  • Grup: Members
  • Posts: 591
  • Înscris: 17.02.2011
Merci :)

#4
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,571
  • Înscris: 30.07.2003
Care-i ratiunea de a face un Applet pentru fiecare cerc?!

#5
raul1ro

raul1ro

    Member

  • Grup: Members
  • Posts: 591
  • Înscris: 17.02.2011
Asa am gasit un exemplu. Dar intre timp am gasit cu JFrame si imi merge perfect.

Anunturi

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate