Laborator 1
Se da un poligon simplu (nu are autointersectii). Pentru un punct M dat se
cere sa se determine daca M apartine interiorului poligonului sau M apartine
exteriorului poligonului sau M apartine frontierei poligonului.
package prob1;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class Problema1 extends JPanel{
private int n;
private Desen canvas;
private JTextField nr,coord,xi,yi,out;
private int[] x,y;
private int contor=0;
private JButton adauga;
private AscultatorButon ab;
private boolean completat=false;
public Problema1(){
this.setLayout(new BorderLayout());
ab=new AscultatorButon();
nr=new JTextField(2);
xi=new JTextField(3);
yi=new JTextField(3);
adauga=new JButton("Adauga");
adauga.addActionListener(ab);
out=new JTextField(10);
out.setEditable(false);
canvas=new Desen();
JPanel p1=new JPanel(new GridLayout(4,1));
JPanel p2=new JPanel();
JPanel p3=new JPanel();
p2.add(new JLabel("Nr. de puncte:"));
p2.add(nr);
p1.add(p2);
p2=new JPanel();
p2.add(new JLabel("Coord:"));
p2.add(xi);
p2.add(yi);
p1.add(p2);
p2=new JPanel();
p2.add(adauga);
p1.add(p2);
p2=new JPanel();
p2.add(new JLabel("Output:"));
p2.add(out);
p1.add(p2);
p3.add(p1);
this.add(p3,BorderLayout.WEST);
this.add(canvas,BorderLayout.CENTER);
}//Problema1() --> constructorul "clasei"
public class AscultatorButon implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getSource()==adauga){
if(!completat){
try{
n=Integer.parseInt(nr.getText());
if(n<3) throw new NumberFormatException();
completat=true;
}catch(NumberFormatException nfe)
{JOptionPane.showMessageDialog(null,"Dati un numar de puncte valid!","Mesaj de
eroare",JOptionPane.WARNING_MESSAGE);}
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.