2019. március 25., hétfő

Mit csinálnak a következő mintaprogramok



public class Szamok {



 public static void main(String[] args) {

  int i,n=10;



  System.out.println("Az elso "+n+" egesz szam:");

  for(i=1;i<=n;i++){

   System.out.println(i);

   }

  }



 }



 -------------------

public class Szamok1a {

 public static void main(String[] args) {
  int i,n=20;

  System.out.println("Az elso "+n+" egesz szam:");
  i=15; //kezdőértékadás
  while(i<=20) {
   System.out.println(i);
   i++; //ciklusváltozó növelése
   }
  i=30;
  System.out.println("Az elso "+n+" egesz szam visszafele:");
  while(i>=25) {
   System.out.println(i);
   i--;
   }
  }

 }
 -------------------

public class Szamok1b {

 public static void main(String[] args) {
  int i,n=5;

  System.out.println("Az elso "+n+" egesz szam:");
  i=1; //kezdőértékadás
  do { //"do" blokk = a ciklusmag
   System.out.println(i);
   i++; //ciklusváltozó növelése
   } while(i<=n); //ciklusfeltétel: amíg igaz, addig ismétli a ciklusmagot
  i=n;
  System.out.println("Az elso "+n+" egesz szam visszafele:");
  do {
   System.out.println(i);
   i--;
   } while(i>=1);
  }

 }
 --------------------





public class Szamok2 {

 public static void main(String[] args) {
  int i,j,n=10;

  System.out.println("Az elso "+n+" paratlan szam:");
  j=1; //első páratlan szám
  for(i=1;i<=n;i++){
   System.out.println(j);
   j+=2; //következő páratlan szám
   }
  }

 }
 -----------------------

public class Szamok2a {

 public static void main(String[] args) {
  int i,j,n=10;

  System.out.println("Az elso "+n+" paros szam:");
  j=2; //első páros szám
  for(i=1;i<=n;i++){
   System.out.println(j);
   j+=2; //következő paros szám
   }
  }

 }
 ------------------------



public class Szamok2b {

 public static void main(String[] args) {
  int i,j,n=10;

  System.out.println("Az elso "+n+" paros szam visszafele:");
  j=2*10; //a 10. páros szám
  for(i=1;i<=n;i++){
   System.out.println(j);
   j-=2; //következő paros szám
   }
  }

 }


 -----------------------



public class Szamok2c {

 public static void main(String[] args) {
  int i,j,n=10;

  System.out.println("Az elso "+n+" paros szam:");
  j=2; //első páros szám
  for(i=1;i<=n;i++){
   System.out.println("A(z) "+i+". paros szam: "+j);
   j+=2; //következő paros szám
   }
  }

 }


 ---------------------

public class Szamok3 {

 public static void main(String[] args) {
  int i,j,n=10;

  System.out.println("Az 1,2,4,7,11,... sorozat elso "+n+" eleme:");
  j=1; //sorozat első eleme
  for(i=1;i<=n;i++){
   System.out.println("A(z) "+i+". elem: "+j);
   j+=i; //sorozat következő eleme
   }
  }

 }


 -------------------------

public class Szamok4 {

 public static void main(String[] args) {
  int i,n=10;
  boolean pozitiv;

  System.out.println("Az 1,-2,3,-4,... sorozat elso "+n+" eleme:");
  pozitiv=true;
  for(i=1;i<=n;i++){
   System.out.println(pozitiv?i:-i); //+i vagy -i kiiratása váltakozva
   pozitiv=!pozitiv; //true -> false, ill. false -> true váltás
   }
  }

 }


 ----------------------

public class Osszeg {

 public static void main(String[] args) {
  int i,sum,n=31;

  System.out.print("Az elso "+n+" egesz szam osszegenek erteke: ");
  sum=0;
  for(i=42;i<=73;i++){
   sum+=i;
   }
  System.out.println(sum);
  }

 }
 --------------------



public class Osszeg1 {

 public int osszeg(int n){
  int i,sum=0;

  for(i=1;i<=n;i++){
   sum+=i;
   }
  return sum; //visszatér az első n szám összegével
  }

 public static void main(String[] args) {
  int i,n=10;
  Osszeg1 o=new Osszeg1();

  System.out.println("Szamok osszegenek kiiratasa:");
  for(i=1;i<=n;i++){
   System.out.println("elso "+i+" szam osszege: "+o.osszeg(i));
   }
  }

 }


 ----------------------

public class Osszeg2 {

 public static void main(String[] args) {
  int i,j,sum,n=10;

  System.out.print("Az elso "+n+" paratlan szam osszegenek erteke: ");
  sum=0;
  j=36;
  for(i=1;i<=n;i++){
   sum+=j;
  j+=3;
   }
  System.out.println(sum);
  }

 }


 -------------------

public class Fakt {

 public static void main(String[] args) {
  int i,n=10;
  long f; //bővebb értéktartomány

  f=1;
  for(i=2;i<=n;i++){
   f*=i;
   }
  System.out.println(n+" faktorialisanak erteke: "+f);
  }

 }


 ----------------------

public class Fakt1 {

 public long fakt(int n){ //metódus formális paraméterrel
  int i; //metódus lokális változói
  long f;

  f=1;
  for(i=2;i<=n;i++){
   f*=i;
   }
  return f; //visszatér n faktoriálisának értékével
  }

 public static void main(String[] args) {
  int i,n=10;
  Fakt1 f=new Fakt1();

  System.out.println("Az elso "+n+" szam faktorialisanak erteke:");
  i=1;
  for(i=1;i<=n;i++){
   System.out.println(i+"! = "+f.fakt(i));
   }
  }

 }


 --------------------

public class Negyzet {

 public static void main(String[] args) {
  int i,n=10;

  System.out.println("Az elso 10 negyzetszam:");
  for(i=1;i<=n;i++){
   System.out.println(i+"*"+i+" = "+i*i);
   }
  }

 }


 ----------------------

public class Hatvany {

 public static void main(String[] args) {
  int i,n=10;
  double h=2.0,x;

  x=1.0; //h^0 (h nulladik hatványa)
  System.out.println(h+" elso 10 hatvanya:");
  for(i=0;i<n;i++){
   System.out.println(h+"^"+i+" = "+x);
   x*=h;
   }
  }

 }


 ---------------------

public class Hatvany1 {

 public static void main(String[] args) {
  int i,n=10;
  double h=2.0,x;

  x=1.0;
  System.out.println(h+" elso 10 negativ hatvanya:");
  for(i=0;i>=-n;i--){
   System.out.println(h+"^"+i+" = "+x);
   x/=h;
   }
  }

 }
 ---------------------



public class Hatvany2 {

 public static void main(String[] args) {
  int i,n=10;
  double x=Math.PI;

  System.out.println("PI elso 10 hatvanya:");
  for(i=1;i<=n;i++){
   System.out.println("PI^"+i+" = "+Math.pow(x,i));
   }
  }

 }


 -----------------------

public class Hatvany2a {

 public static void main(String[] args) {
  double i,n=10.0,di=0.5;
  double x=Math.PI;

  System.out.println("PI hatványai:");
  for(i=1.0;i<=n;i+=di){
   System.out.println("PI^"+i+" = "+Math.pow(x,i));
   }
  }

 }


 ----------------------------



public class Kerekit {

 public static double kerekit(double x,int n){
  double z;

  if(n==0){
   return Math.round(x); //kerekítés egesz számmá
   };
  z=Math.pow(10,n);
  return Math.round(x*z)/z;
  }

 public static void main(String[] args) {
  double x;
  int i;

  x=1928.37465;
  System.out.println(x+" kerekitett ertekei:");
  for(i=-4;i<6;i++) {
   if(i>=0) System.out.print(i==0?" ":"+");
   System.out.println(i+" tizedesjegyre: "+kerekit(x,i));
   }
  }
 }
 -----------------------



public class Fuggvenyek {

 public double fok(double x){
  /* a radianban megadott szogertek atvaltasa fokra */
  return x/Math.PI*180; //180 fok = PI radián
  }

 public static void main(String[] args) {
  double x=0; //intervallum kezdete
  double x1=Math.PI/2; //intervallum vége
  double dx=x1/9; //kiiratás 10 fokonként (PI/2 radián=90 fok)
  Fuggvenyek f=new Fuggvenyek();

  System.out.println("A szinusz- es koszinuszfuggveny ertekei:");
  do{
   System.out.println(f.fok(x)+" fok: sin(x) = "+
                      Kerekit.kerekit(Math.sin(x),4)+" cos(x) = "+
                      Kerekit.kerekit(Math.cos(x),4));
   x+=dx; //következő szögérték
   } while(x<=x1);
  }

 }


 ----------------------

public class Veletlen {

 public static void main(String[] args) {
  int i,n=10;
  double szam;

  System.out.println(n+" darab veletlen szam a [0,1) intervallumbol:");
  for(i=0;i<n;i++){
   szam=Math.random(); //véletlen szám generálása
   System.out.println(szam);
   }
  }

 }


 -----------------------

public class Veletlen0 {

 public static void main(String[] args) {
  int i,n=5;
  double szam;

  System.out.println(n+" darab veletlen szam a [0,1) intervallumbol:");
  for(i=0;i<n;i++){
   szam=Math.random();
   System.out.println(Kerekit.kerekit(szam,4));
   }
  }

 }


 ------------------------

public class Veletlen1 {

 public static void main(String[] args) {
  int i,n=10;
  double[] szamok=new double[n]; //10 elemű valós tömb létrehozása

  System.out.println(n+" darab veletlen szam a [0,1) intervallumbol:");
  for(i=0;i<n;i++){
   szamok[i]=Math.random(); //számok eltárolása a tömbben
   }
  for(i=0;i<n;i++){
   System.out.println(szamok[i]); //számok kiíratása a tömbből
   }
  }

 }


 -----------------------------

public class Veletlen2 {

 public static void main(String[] args) {
  int i,n=10;
  double atl=0,min=1,max=0; //a kezdőértékek nagyon fontosak!!!
  double szamok[]=new double[10];

  System.out.println(n+" darab veletlen szam a [0,1) intervallumbol:");
  for(i=0;i<n;i++){
   szamok[i]=Math.random();
   if(szamok[i]<min){
    min=szamok[i]; //ha kisebb, mint az eddigi legkisebb, eltároljuk
    }
   if(szamok[i]>max){
    max=szamok[i]; //ha nagyobb, mint az eddigi legnagyobb, eltároljuk
    }
   atl+=szamok[i]; //összegezzük a számokat
   System.out.println(szamok[i]);
   }
  atl/=n; //az összeget osztjuk n-nel
  System.out.println();
  System.out.println("A legkisebb veletlen szam: "+min);
  System.out.println("A legnagyobb veletlen szam: "+max);
  System.out.println("A veletlen szamok atlaga: "+atl);
  }
 }


 ------------------------

public class Veletlen3 {

 public static void main(String[] args) {
  int i,veletlen,n=5,min=1,max=90;

  System.out.println(n+" darab veletlen egesz szam a(z) ["+
                     min+","+max+"] intervallumbol:");
  for(i=1;i<=n;i++){
   veletlen=(int)(max*Math.random())+min; //típuskényszerítés (int)-re
   System.out.println(veletlen);
   }
  }

 }




 -----------------------

public class Param {

 public static void main(String[] args) {
  int i;

  if(args.length==0){
   System.out.println("Nincs parameter!");
   }
  else{
   System.out.println("A parameterek:");
   for(i=0;i<args.length;i++) {
    System.out.println("A(z) "+(i+1)+". parameter: "+args[i]);
    }
   }
  }
 }


 -----------------------

public class Param1 {

 public static void main(String[] args) {
  int i;
  String s;

  if(args.length==0){
   System.out.println("Nincs parameter!");
   }
  else{
   s=args[0];
   System.out.println("A megadott parameter:");
   System.out.print("---- ");
   for(i=0;i<s.length();i++) {
    System.out.print(s.charAt(i)+" ");
    }
   System.out.println("----");
   }
  }
 }
 -------------------------



/* a HelloApplet osztályt a java.applet.Applet osztályból
   származtatjuk, így örökli annak minden mezőjét és metódusát */

public class HelloApplet extends java.applet.Applet {

 /* a böngésző az applet kirajzolásakor a java.awt.Component osztály
    paint(Graphics) metódusát hívja meg; mivel a java.applet.Applet
    osztály a Component osztály leszármazottja, ha a HelloApplet
    osztályban átdefiniáljuk a paint metódust, a böngésző ezt fogja
    meghívni az applet kirajzolásakor */

 public void paint(java.awt.Graphics g) {

  /* a java.awt.Graphics osztály a fontos rajzoló metódusokkal rendelkezik;
     ezek közül egyik a drawString(String,int,int) metódus, amely az
     első paraméterként megadott szöveget rajzolja ki az aktuális színnel,
     és az aktuális fontot használva; a szöveg alapvonala a megadott (x,y)
     koordinátákon kezdődik */
 
  g.drawString("Hello!",5,12);
  }
 }


------------------------------------------

import java.awt.*;
import java.applet.*;

public class RajzApplet extends Applet {
 public void paint(Graphics g) {

  /* egy téglalapot a Graphics osztály void fillRect(int,int,int,int)
     metódusával rajzolhatunk ki; az első két paraméter a téglalap bal
     felső sarkának x és y koordinátáját, a második két paraméter pedig
     a téglalap szélességét és magasságát adja meg */

  g.setColor(Color.blue); //a téglalap kitöltő színe kék lesz
  g.fillRect(10,20,180,60);

  /* egy ellipszist a Graphics osztály void fillOval(int,int,int,int)
     metódusával rajzolhatunk ki; a paraméterek azt a téglalapot adják
     meg, amelybe az ellipszist rajzoljuk */

  g.setColor(Color.red); //az ellipszis kitöltő színe piros lesz
  g.fillOval(20,10,100,50);

  /* egy sokszöget a Graphics osztály void fillPolygon(int[],int[],int)
     metódusával rajzolhatunk ki; az első két paramétertömb a sokszög
     csúcsainak x, ill. y koordinátáit adja meg, az utolsó paraméter pedig
     a csúcsok számát */

  int[] xP={150,240,195},yP={50,50,120};
  g.setColor(Color.green);
  g.fillPolygon(xP,yP,3);

  /* egy vonalat a Graphics osztály void drawLine(int,int,int,int)
     metódusával rajzolhatunk ki; az első két paraméter a vonal kezdő-,
     a második két paraméter pedig a vonal végpontjának x és y
     koordinátáját adja meg */

  g.setColor(Color.black);
  g.drawLine(10,20,195,120);

  g.setColor(Color.black);
  g.drawString("Hello!",5,12);
  g.setColor(Color.yellow);
  g.drawString("Hello!!",55,42);
  g.setColor(Color.white);
  g.drawString("Hello!!!",105,72);
  g.setColor(Color.magenta);
  g.drawString("Hello!!!",155,102);
  }
 }
 --------------------

import java.awt.*;
import java.applet.*;

public class FontApplet extends Applet {
 public void paint(Graphics g) {

  /* egy font megadására használhatjuk a java.awt.Font osztály
     Font(String,int,int) konstruktorát; az első paraméter a fonttípus
     nevét, a második a font stílusát, a harmadik a font méretét adja
     meg; a font stílusát a Font osztály Font.BOLD, Font.ITALIC, és
     Font.PLAIN konstansaival adhatjuk meg (ezeket össze is adhatjuk,
     ha félkövér dőlt stílust akarunk használni) */

  Font font1=new Font("Courier",Font.BOLD,24);
  Font font2=new Font("Arial",Font.ITALIC,24);
  Font font3=new Font("Times New Roman",Font.BOLD+Font.ITALIC,24);

  /* az aktuális fontot a Graphics osztály void setFont(Font) metódusával
     tudjuk beállítani */

  g.setColor(Color.yellow);
  g.setFont(font1);
  g.drawString("Courier BOLD",5,40);

  g.setColor(Color.blue);
  g.setFont(font2);
  g.drawString("Arial ITALIC",5,80);

  g.setColor(Color.magenta);
  g.setFont(font3);
  g.drawString("Times BOLD+ITALIC",5,120);
  }
 }
 ---------------------------



import java.applet.*;
import java.awt.*;

public class HatterApplet extends Applet {

 public void paint(Graphics g) {
  Color bibor=new Color(200,0,200); //bíborvörös sötétebb árnyalatban
  Color zoldes=new Color(55,255,55); //az előző bíborvörös ellentéte
  Font fb=new Font("Courier",Font.BOLD,24);
  Font fi=new Font("Arial",Font.ITALIC,32);
  Font fp=new Font("Times New Roman",Font.PLAIN,14);

  /* az applet előtér- és háttérszínét a java.awt.Component osztály void
     setForeground(Color) és void setBackground(Color) metódusaival
     állíthatjuk be */

  setBackground(Color.blue);
  setForeground(Color.yellow);
  g.setFont(fb);
  g.drawString("Hello!",5,30); //kiírás az előtérszínnel (sárga)

  g.setColor(zoldes);
  g.fillRect(55,40,30,20);
  g.setColor(bibor);
  g.fillRect(5,60,100,200);
  g.drawString("Hello!",105,30); //kiírás a rajzolószínnel (bibor)

  /* a Graphics osztály void setXORMode(Color) metódusa az aktuális
     rajzolószínű pontokat a paraméterben megadott színnel írja felül,
     és megfordítva; a többi pont esetén pedig az előtér- és háttérszínt
     használja */

  g.setFont(fi);
  g.setXORMode(zoldes);
  g.drawString("Üdvözlet Katától!",5,70);

  g.setFont(fp);
  g.drawString("Viszlát!",90,90);
  }
 }


 ------------------------

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

/* a UrlapApplet applet implementálja a java.awt.event.ActionListener
   interfészt; ez azt jelenti, hogy az applet a következő metódust
   felüldefiniálja:
   public void actionPerformed(ActionEvent) //vmilyen esemény történt
   */

public class UrlapApplet extends Applet implements ActionListener {

 public TextField x=new TextField(); //egysoros szövegdoboz létrehozása
 public Button plus=new Button("+"); //gomb létrehozása
 public TextField y=new TextField();
 public Label eq=new Label("="); //címkedoboz létrehozása
// public TextField z=new TextField();
 public Label z=new Label();

 public void init() {
  setLayout(null); //automatikus elrendezés kikapcsolása
  x.setBounds(5,5,50,20); //az x szövegdoboz határainak beállítása
  add(x);
  plus.setBounds(60,5,20,20);
  add(plus);

 /* az applet inicializálásakor meghívódik a java.awt.Button osztály
    void addActionListener(ActionListener) metódusa, amelynek paraméterként
    átadjuk az UrlapApplet aktuális példányát (ti. annak címét: this);
    a metódus a gomb lenyomásának figyelését kapcsolja be, az applettel
    párhuzamosan (egy új "szálként") fog futni, és a gomb lenyomásakor
    meghívja az appletben átdefiniált actionPerformed metódust */

  plus.addActionListener(this); //gomb lenyomásának figyelése
  y.setBounds(85,5,50,20);
  add(y);
  eq.setBounds(140,5,20,20);
  add(eq);
  z.setBounds(165,5,100,20);
  add(z);
  }

 public void actionPerformed(ActionEvent ev) {
  double a,b;
  try {
   /* a Double.parseDouble() metódust a régebbi Java verziók sajnos
      nem ismerik, így bonyolultabban kell konvertálni... */
   a=(new Double(x.getText())).doubleValue(); //konvertálás valós számmá
   b=(new Double(y.getText())).doubleValue();
   z.setText(""+(a+b)); //szöveg beírása a z szövegdobozba
   }
  catch(Exception ex) {
   z.setText("Hiba!");
   }
  validate(); //a változások érvényesítése
  }

 public void paint(Graphics g) {
  setBackground(Color.pink);
  }

 }
 --------------------

public abstract class Szamol {

 public String tipus; //a művelet szimbóluma (az eredmény kiíratásához)

 /* a példányosításkor a konstruktor paramétereként adjuk meg a művelet
 típusát */
 -----------------------
 public Szamol(String s) {
  tipus=s;
  }

 public abstract double muvelet(double x,double y);

 public void szamol(String[] a) {
  double x,y;

  if(a.length<2){
   System.out.println("Keves parameter!");
   }
  else{
   try {
    x=Double.parseDouble(a[0]);
    y=Double.parseDouble(a[1]);
    System.out.println(x+" "+tipus+" "+y+" = "+muvelet(x,y));
    }
   catch(NumberFormatException e) {
    System.out.println("A megadott ertekek nem szamok!");
    }
   }
  }
 }


 --------------------------------

public class Osszead extends Szamol {

 public Osszead() {
  super("+");
  }
 ----------------------
 public double muvelet(double x,double y) {
  return x+y;
  }

 public static void main(String[] args) {
  Osszead p=new Osszead();
  p.szamol(args);
  }
 }




public class Szoroz extends Szamol {

 public Szoroz() {
  super("*");
  }

 public double muvelet(double x,double y) {
  return x*y;
  }

 public static void main(String[] args) {
  Szoroz p=new Szoroz();
  p.szamol(args);
  }
 }


 --------------------

public class Lotto {

 public static final int MAXNUM=5; //maximum ennyi számmal dolgozunk
 private boolean[] sz=new boolean[92]; //milyen számokat generáltunk?
 private int num; //hány számot generáltunk már?

 public Lotto() { //konstruktor
  num=0; //az osztály példányosításakor inicializáljuk n-t
  torol(); //az osztály példányosításakor inicializáljuk a tömböt
  }
 public void torol() {
  int i;
  for(i=1;i<=90;i++) {
   sz[i]=false;
   }
  sz[0]=true; //strázsa
  sz[91]=true; //strázsa
  }
 public int general() {
  int i;
  if(num>MAXNUM) { //öt érték után újrakezdjük a számok generálását
   num=0;
   torol();
   }
  do {
   i=(int)(90*Math.random())+1; //véletlen lottószám generálása
   } while(sz[i]); //addig folytatjuk, amíg nem kapunk új számot
  sz[i]=true; //"betesszük" a számot a tömbbe
  num++; //eddig n darab számot generáltunk
  return i;
  }
 public int kihuz() {
  int i=1;
  while(!sz[i]) { //addig folytatjuk, amíg sz[i] igaz nem lesz
   i++;
   }
  if(0<i && i<91) { //nem értük el a strázsát
   sz[i]=false; //"kivesszük" a számot a tömbből
   num--; //eggyel kevesebb szám van a tömbben
   }
  return i;
  }

 public static void main(String[] args) {
  int i;
  Lotto lotto=new Lotto();

  System.out.println("A javasolt lottoszamok:");
  for(i=1;i<=MAXNUM;i++){
   lotto.general(); //öt különböző számot generálunk
   }
  for(i=1;i<=MAXNUM;i++){
   System.out.println(i+". szam: "+lotto.kihuz()); //kiíratás rendezetten
   }
  }
 }
 -----------------------------



import java.awt.*;
import java.awt.event.*;

public class LottoFrame extends Frame implements WindowListener {

 public LottoFrame(String s) { //konstruktor paraméterrel
  super(s); //a Frame osztály konstruktora beállítja az ablak címsorát
  }

 public static void main(String[] args) {
  LottoFrame frame=new LottoFrame("Lottószámok");

  frame.setSize(150,70); //beállítja az ablak méretét
  frame.addWindowListener(frame); //bekapcsolja az ablakesemények figyelését
  frame.show(); //kirajzolja az ablakot
  }

 public void paint(Graphics g) {
  int i;
  Lotto lotto=new Lotto();

  g.drawString("A javasolt lottószámok:",5,42);
  for(i=0;i<Lotto.MAXNUM;i++){
   lotto.general();
   }
  for(i=0;i<Lotto.MAXNUM;i++){
   g.drawString(""+lotto.kihuz(),24*i+5,54);
   }
  }

 public void windowOpened(WindowEvent e) {}
 public void windowClosing(WindowEvent e) {
  System.exit(0);
  }
 public void windowClosed(WindowEvent e) {}
 public void windowIconified(WindowEvent e) {}
 public void windowDeiconified(WindowEvent e) {}
 public void windowActivated(WindowEvent e) {}
 public void windowDeactivated(WindowEvent e) {}

 }


 ------------------------------

import java.awt.*;
import java.awt.event.*;

public class LottoFrame1 extends Frame implements WindowListener,
                                                  ActionListener {

 public LottoFrame1(String s) { //konstruktor paraméterrel
  super(s); //a Frame osztály konstruktora beállítja az ablak címsorát
  }

 public static void main(String[] args) {
  LottoFrame1 frame=new LottoFrame1("Lottószámok");

  MenuItem actionNew=new MenuItem("New");
  MenuItem actionQuit=new MenuItem("Quit");
  Menu menusor=new Menu("Action");
       menusor.setFont(new Font("Arial",Font.BOLD,12));
       menusor.add(actionNew);
       actionNew.addActionListener(frame); //menüpont figyelése
       menusor.add(actionQuit);
       actionQuit.addActionListener(frame); //menüpont figyelése
  MenuBar fomenu=new MenuBar();
          fomenu.add(menusor);

  frame.setSize(150,100); //beállítja az ablak méretét
  frame.addWindowListener(frame); //ablakesemények figyelése
  frame.setMenuBar(fomenu); //főmenü beállítása
  frame.show(); //kirajzolja az ablakot
  }

 public void paint(Graphics g) {
  int i;
  Lotto lotto=new Lotto();

  g.drawString("A javasolt lottószámok:",10,60);
  for(i=0;i<Lotto.MAXNUM;i++){
   lotto.general();
   }
  for(i=0;i<Lotto.MAXNUM;i++){
   g.drawString(""+lotto.kihuz(),24*i+10,72);
   }
  }

 public void actionPerformed(ActionEvent ev) {
  if(ev.getActionCommand()=="New") {
   repaint();
   }
  else if (ev.getActionCommand()=="Quit") {
   System.exit(0);
   }
  }

 public void windowOpened(WindowEvent ew) {}
 public void windowClosing(WindowEvent ew) {
  System.exit(0);
  }
 public void windowClosed(WindowEvent ew) {}
 public void windowIconified(WindowEvent ew) {}
 public void windowDeiconified(WindowEvent ew) {}
 public void windowActivated(WindowEvent ew) {}
 public void windowDeactivated(WindowEvent ew) {}

 }




/* az applet ötlete a ClickMe.java programból származik, amely megtalálható
   a http://java.sun.com webhelyen */
-------------------------------------
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

/* az EgerApplet implementálja a java.awt.event.MouseListener interfészt;
   ez azt jelenti, hogy az applet a következő metódusokat felüldefiniálja:
   void mousePressed(MouseEvent) //egérgomb lenyomása
   void mouseClicked(MouseEvent) //kattintás egérgombbal
   void mouseReleased(MouseEvent) //egérgomb felengedése
   void mouseEntered(MouseEvent) //egérkurzor belépése az appletablakba
   void mouseExited(MouseEvent) //egérkurzor kilépése az appletablakból
   */

public class EgerApplet extends Applet implements MouseListener {

 public static final int SUGAR=7; //pötty sugara
 public int x=-1,y=-1; //pötty középpontjának koordinátái

 /* az applet inicializálásakor meghívódik a Component osztály
    void addMouseListener(MouseListener) metódusa, amelynek paraméterként
    átadjuk az EgerApplet aktuális példányát (ti. annak címét: this);
    a metódus az egéresemények figyelését kapcsolja be, az applettel
    párhuzamosan (egy új "szálként") fog futni, és egy egéresemény
    bekövetkezésekor meghívja az appletben átdefiniált megfelelő mouseXxx
    metódust */

 public void init() {
  addMouseListener(this);
  }

 public void paint(Graphics g) {

  /* fehér téglalap és fekete keret kirajzolása az appletben */

  g.setColor(Color.white);
  g.fillRect(0,0,getSize().width-1,getSize().height-1);
  g.setColor(Color.black);
  g.drawRect(0,0,getSize().width-1,getSize().height-1);

  g.setColor(Color.red); //a pötty piros színű lesz
  if (x>=0 && y>=0) {
   g.fillOval(x-SUGAR,y-SUGAR,SUGAR*2,SUGAR*2); //pötty kirajzolása
   }
  }

 /* Az applet az applet újrarajzolására a java.awt.Component osztály
    repaint(Graphics) metódusát hívja meg, amely a java.awt.Component
    osztály update(Graphics) metódusát hívja; ez utóbbi először szürke
    alapszínnel átfesti az appletet, majd meghívja a paint metódust.
    Ez villogást okoz, ezért érdemes az update metódust úgy átdefiniálni,
    hogy csak a paint metódust hívja, és ne fesse át előtte az appletet. */

 public void update(Graphics g) {
  paint(g);
  }

  /* az egér lenyomásakor az egérkurzor aktuális koordinátáit állítjuk be
     a pötty középpontjaként, és újrarajzoljuk az appletet a repaint
     metódus meghívásával */

 public void mousePressed(MouseEvent event) {
  x=event.getX();
  y=event.getY();
  repaint();
  }

 public void mouseClicked(MouseEvent event) {}
 public void mouseReleased(MouseEvent event) {}
 public void mouseEntered(MouseEvent event) {}
 public void mouseExited(MouseEvent event) {}
 }


---------------------------------------

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class SzamolApplet extends Applet implements ActionListener, TextListener {

 public TextField x=new TextField(); //egysoros szövegdoboz létrehozása
 public Label op=new Label("?"); //címkedoboz létrehozása
 public TextField y=new TextField();
 public Label eq=new Label("=");
 public TextField z=new TextField();
 public Button plus=new Button("x+y"); //gomb létrehozása
 public Button minus=new Button("x-y");
 public Button mul=new Button("x*y");
 public Button div=new Button("x/y");
 public Button pow=new Button("x^y");
 private int bpos=5,bwidth=50;
 private Font f=new Font("Courier",Font.BOLD,12);

 public void init() {
  setBackground(new Color(255, 175, 175)); //pink
  setLayout(null); //automatikus elrendezés kikapcsolása
  x.setBackground(new Color(160, 255, 255)); //~lightcyan
  x.setBounds(5,5,50,20); //az x szövegdoboz határainak beállítása
  add(x);
  x.addTextListener(this);
  op.setBounds(60,5,20,20);
  op.setAlignment(Label.CENTER);
  add(op);
  y.setBackground(new Color(160, 255, 255)); //~lightcyan
  y.setBounds(85,5,50,20); //az y szövegdoboz határainak beállítása
  add(y);
  y.addTextListener(this);
  eq.setBounds(144,5,20,20);
  eq.setAlignment(Label.CENTER);
  add(eq);
  z.setBackground(new Color(160, 255, 255)); //~lightcyan
  z.setBounds(172,5,103,20);
  add(z);
// műveleteket végrehajtó gombok
  plus.setBackground(new Color(192, 192, 192)); //lightgray
  plus.setFont(f);
  plus.setBounds(5,35,bwidth,20);
  bpos+=bwidth+5;
  add(plus);
  plus.setActionCommand("+");
  plus.addActionListener(this); //gomb lenyomásának figyelése
  minus.setBackground(new Color(192, 192, 192)); //lightgray
  minus.setFont(f);
  minus.setBounds(bpos,35,bwidth,20);
  bpos+=bwidth+5;
  add(minus);
  minus.setActionCommand("-");
  minus.addActionListener(this); //gomb lenyomásának figyelése
  mul.setBackground(new Color(192, 192, 192)); //lightgray
  mul.setFont(f);
  mul.setBounds(bpos,35,bwidth,20);
  bpos+=bwidth+5;
  add(mul);
  mul.setActionCommand("*");
  mul.addActionListener(this); //gomb lenyomásának figyelése
  div.setBackground(new Color(192, 192, 192)); //lightgray
  div.setFont(f);
  div.setBounds(bpos,35,bwidth,20);
  bpos+=bwidth+5;
  add(div);
  div.setActionCommand("/");
  div.addActionListener(this); //gomb lenyomásának figyelése
  pow.setBackground(new Color(192, 192, 192)); //lightgray
  pow.setFont(f);
  pow.setBounds(bpos,35,bwidth,20);
  bpos+=bwidth+5;
  add(pow);
  pow.setActionCommand("^");
  pow.addActionListener(this); //gomb lenyomásának figyelése
  }

 public void actionPerformed(ActionEvent ev) {
  double a,b;
  try {
   a=(new Double(x.getText())).doubleValue(); //konvertálás valós számmá
   b=(new Double(y.getText())).doubleValue(); //konvertálás valós számmá
   switch(ev.getActionCommand().charAt(0)) {
   case '+':
    op.setText("+");
    z.setText(""+(a+b)); //szöveg beírása a z szövegdobozba
    break;
   case '-':
    op.setText("-");
    z.setText(""+(a-b)); //szöveg beírása a z szövegdobozba
    break;
   case '*':
    op.setText("*");
    z.setText(""+(a*b)); //szöveg beírása a z szövegdobozba
    break;
   case '/':
    op.setText("/");
    z.setText(""+(a/b)); //szöveg beírása a z szövegdobozba
    break;
   case '^':
    op.setText("^");
    z.setText(""+Math.pow(a,b)); //szöveg beírása a z szövegdobozba
    break;
   }
   }
  catch(Exception ex) {
   z.setText("Hiba!");
   }
  validate(); //a változások érvényesítése
  }

 public void textValueChanged(TextEvent ev) {
   op.setText("?");
   z.setText(""); //megváltozott x vagy y értéke, ezért a korábbi eredmény törlődik
  }

 public void paint(Graphics g) {
  g.setFont(new Font("Courier NEW CE",Font.BOLD,14));
  g.drawString("Számológép 1.0",5,80);
  }

 }




Nincsenek megjegyzések:

Megjegyzés küldése