unit shablon;

{$mode ObjFPC}{$H+}

interface

uses
  Classes, SysUtils, SynEdit;

procedure shablon_fx();
procedure shablon_applet();
procedure shablon_swing();
procedure shablon_console();



implementation
 uses
   Unit1;

procedure shablon_fx();
var str: String;
begin
 Form1.SynEdit1.Lines.Clear;
 str:='//Шаблон ';
 Form1.SynEdit1.Lines.add(str);
 Form1.SynEdit1.Lines.add('import javafx.application.Application; ');
 Form1.SynEdit1.Lines.add('import javafx.geometry.Pos; ');
 Form1.SynEdit1.Lines.add('import javafx.scene.Scene;  ');
 Form1.SynEdit1.Lines.add('import javafx.scene.control.Label; ');
 Form1.SynEdit1.Lines.add('import javafx.stage.Stage;');
 Form1.SynEdit1.Lines.add(' ');
 Form1.SynEdit1.Lines.add('public class HelloWorldApplicationFX extends Application { ');
 Form1.SynEdit1.Lines.add(' ');
 Form1.SynEdit1.Lines.add('    @Override ');
 Form1.SynEdit1.Lines.add('    public void init() throws Exception {');
 Form1.SynEdit1.Lines.add('        super.init();');
 Form1.SynEdit1.Lines.add('        System.out.println("Inside init() method! Perform necessary initializations here.");');
 Form1.SynEdit1.Lines.add('    }  ');
 Form1.SynEdit1.Lines.add('      ');
 Form1.SynEdit1.Lines.add('    @Override');
 Form1.SynEdit1.Lines.add('    public void start(Stage primaryStage) throws Exception { ');
 Form1.SynEdit1.Lines.add('        Label label = new Label("Hello World");');
 Form1.SynEdit1.Lines.add('        label.setAlignment(Pos.CENTER); ');
 Form1.SynEdit1.Lines.add('        Scene scene = new Scene(label, 500, 350);');
 Form1.SynEdit1.Lines.add('');
 Form1.SynEdit1.Lines.add('        primaryStage.setTitle("Hello World Application");');
 Form1.SynEdit1.Lines.add('        primaryStage.setScene(scene);');
 Form1.SynEdit1.Lines.add('        primaryStage.show();');
 Form1.SynEdit1.Lines.add('    }');
 Form1.SynEdit1.Lines.add('');
 Form1.SynEdit1.Lines.add('    @Override');
 Form1.SynEdit1.Lines.add('    public void stop() throws Exception {');
 Form1.SynEdit1.Lines.add('        super.stop();');
 Form1.SynEdit1.Lines.add('        System.out.println("Inside stop() method! Destroy resources. Perform Cleanup.");');
 Form1.SynEdit1.Lines.add('    }');
 Form1.SynEdit1.Lines.add('');
 Form1.SynEdit1.Lines.add('    public static void main(String[] args) {');
 Form1.SynEdit1.Lines.add('        launch(args);');
 Form1. SynEdit1.Lines.add('    }');
 Form1.SynEdit1.Lines.add('}');
end;

procedure shablon_swing();
 var str: String;
begin
 Form1.SynEdit1.Lines.Clear;
  str:='//Шаблон ';
  Form1.SynEdit1.Lines.add(str);
  Form1.SynEdit1.Lines.add('  import javax.swing.*;');
  Form1.SynEdit1.Lines.add('import java.awt.*;');
  Form1.SynEdit1.Lines.add('class HelloWorldGUI { ');
   Form1.SynEdit1.Lines.add( '  private static void createAndShowGUI() {');
    Form1.SynEdit1.Lines.add('      JFrame frame = new JFrame("HelloWorldGUI");');
    Form1.SynEdit1.Lines.add('		frame.setSize(150,200); ');
    Form1.SynEdit1.Lines.add('		frame.setLocation(150,150); ');
    Form1.SynEdit1.Lines.add('        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ');
     Form1.SynEdit1.Lines.add('       frame.setLayout (new FlowLayout(FlowLayout.CENTER)); ');
     Form1.SynEdit1.Lines.add('        JLabel label0 = new JLabel("Привет народ!!!");');
     Form1.SynEdit1.Lines.add('        JLabel label = new JLabel("HelloWorldGUI"); ');
     Form1.SynEdit1.Lines.add('       frame.add(label0);');
     Form1.SynEdit1.Lines.add('        frame.add(label); ');
     Form1.SynEdit1.Lines.add('                   ');
     Form1.SynEdit1.Lines.add('                   ');
     Form1.SynEdit1.Lines.add('        frame.setVisible(true); ');
     Form1.SynEdit1.Lines.add('    }              ');
     Form1.SynEdit1.Lines.add('                   ');
     Form1.SynEdit1.Lines.add('   public static void main(String[] args) { ');
     Form1.SynEdit1.Lines.add('                       ');
     Form1.SynEdit1.Lines.add('       javax.swing.SwingUtilities.invokeLater(new Runnable() { ');
     Form1.SynEdit1.Lines.add('           public void run() {     ');
     Form1.SynEdit1.Lines.add('                createAndShowGUI();  ');
     Form1.SynEdit1.Lines.add('            }   ');
     Form1.SynEdit1.Lines.add('        });     ');
     Form1.SynEdit1.Lines.add('    }           ');
     Form1.SynEdit1.Lines.add('}                ');
  Form1.SynEdit1.Lines.add('');

 end;

procedure shablon_console();
 var str: String;
begin
  Form1.SynEdit1.Lines.Clear;
  str:='//Шаблон ';
  Form1.SynEdit1.Lines.add(str);
  str:='import java.util.Scanner; ';
  Form1.SynEdit1.Lines.add(str);
  str:='public class Shablon{';
  Form1.SynEdit1.Lines.add(str);
  str:='   public static void main(String[] args){';
  Form1.SynEdit1.Lines.add(str);
  Form1.SynEdit1.Lines.add('      System.out.println("_________________________________\n");');
  str:='      //Ваш код ';
  Form1.SynEdit1.Lines.add(str);
  Form1.SynEdit1.Lines.add('      System.out.println("Шаблон программы!");');
  str:='      //Остановка закрытия окна ';
  Form1.SynEdit1.Lines.add(str);
  str:='      Scanner sc_stop = new Scanner(System.in);';
  Form1.SynEdit1.Lines.add(str);
  str:='      System.out.println("_________________________________\n");';
  Form1.SynEdit1.Lines.add(str);
  str:='      char cr = sc_stop.next().charAt(0);';;
  Form1.SynEdit1.Lines.add(str);
  str:='   } ';
  Form1.SynEdit1.Lines.add(str);
  str:='}';
  Form1.SynEdit1.Lines.add(str);
  Form1.SynEdit1.Lines.add('');

 end;

 procedure shablon_applet();
 var str: String;
begin
  Form1.SynEdit1.Lines.Clear;
  str:='//Шаблон ';
  Form1.SynEdit1.Lines.add(str);
  Form1.SynEdit1.Lines.add('/*');
  Form1.SynEdit1.Lines.add(' Пример Базового Java-Апплета');
  Form1.SynEdit1.Lines.add('*/');
  Form1.SynEdit1.Lines.add(' ');
  Form1.SynEdit1.Lines.add('import java.applet.Applet;');
  Form1.SynEdit1.Lines.add('import java.awt.Graphics;');
  Form1.SynEdit1.Lines.add('');
  Form1.SynEdit1.Lines.add('/*');
  Form1.SynEdit1.Lines.add(' <applet code = "BasicAppletExample" width = 400 height = 200>');
  Form1.SynEdit1.Lines.add(' </applet>');
  Form1.SynEdit1.Lines.add('*/');
  Form1.SynEdit1.Lines.add('');
  Form1.SynEdit1.Lines.add('public class BasicAppletExample extends Applet{');
  Form1.SynEdit1.Lines.add(' public void paint(Graphics g){');
  Form1.SynEdit1.Lines.add('  g.drawString("This is my First Applet",20,100);');
  Form1.SynEdit1.Lines.add(' }');
  Form1.SynEdit1.Lines.add('}');
end;


end.

