unit form7_fun_unit7;

{$mode objfpc}{$H+}

interface

uses
 Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls;

procedure show_shablon1();
procedure show_shablon2();
procedure show_shablon3();
procedure show_shablon4();
procedure show_shablon5();

implementation
 uses
  Unit7;


 procedure show_shablon5();
 begin
  Form7.SynEdit1.Lines.Clear;
  Form7.SynEdit1.Lines.Add('  import javafx.application.Application;');
  Form7.SynEdit1.Lines.Add('  import javafx.stage.Stage;');
  Form7.SynEdit1.Lines.Add('  import javafx.scene.Scene;');
  Form7.SynEdit1.Lines.Add('  import javafx.scene.Group;');
  Form7.SynEdit1.Lines.Add('  import javafx.scene.control.Button;');
  Form7.SynEdit1.Lines.Add('  import javafx.event.ActionEvent;');
  Form7.SynEdit1.Lines.Add('  import javafx.event.EventHandler;');
  Form7.SynEdit1.Lines.Add('   ');
  Form7.SynEdit1.Lines.Add('  public class Main extends Application{');
  Form7.SynEdit1.Lines.Add('       ');
  Form7.SynEdit1.Lines.Add('      public static void main(String[] args) {');
  Form7.SynEdit1.Lines.Add('           ');
  Form7.SynEdit1.Lines.Add('          launch(args);');
  Form7.SynEdit1.Lines.Add('      }');
  Form7.SynEdit1.Lines.Add('       ');
  Form7.SynEdit1.Lines.Add('      @Override');
  Form7.SynEdit1.Lines.Add('      public void start(Stage stage) {');
  Form7.SynEdit1.Lines.Add('           ');
  Form7.SynEdit1.Lines.Add('          Button btn = new Button();');
  Form7.SynEdit1.Lines.Add('          btn.setText("Click!");');
  Form7.SynEdit1.Lines.Add('           ');
  Form7.SynEdit1.Lines.Add('          btn.setOnAction(new EventHandler<ActionEvent>() {');
  Form7.SynEdit1.Lines.Add('               ');
  Form7.SynEdit1.Lines.Add('              @Override');
  Form7.SynEdit1.Lines.Add('              public void handle(ActionEvent event) {');
  Form7.SynEdit1.Lines.Add('               ');
  Form7.SynEdit1.Lines.Add('                  btn.setText("Youve clicked!");');
  Form7.SynEdit1.Lines.Add('              }');
  Form7.SynEdit1.Lines.Add('          });');
  Form7.SynEdit1.Lines.Add('           ');
  Form7.SynEdit1.Lines.Add('          Group root = new Group(btn);');
  Form7.SynEdit1.Lines.Add('          Scene scene = new Scene(root);');
  Form7.SynEdit1.Lines.Add('          stage.setScene(scene);');
  Form7.SynEdit1.Lines.Add('           ');
  Form7.SynEdit1.Lines.Add('          stage.setTitle("Hello JavaFX");');
  Form7.SynEdit1.Lines.Add('          stage.setWidth(250);');
  Form7.SynEdit1.Lines.Add('          stage.setHeight(200);');
  Form7.SynEdit1.Lines.Add('           ');
  Form7.SynEdit1.Lines.Add('          stage.show();');
  Form7.SynEdit1.Lines.Add('      }');
  Form7.SynEdit1.Lines.Add('  }');
 end;


 procedure show_shablon4();
  begin
   Form7.SynEdit1.Lines.Clear;
   Form7.SynEdit1.Lines.Add('  import javafx.application.Application;');
   Form7.SynEdit1.Lines.Add('  import javafx.scene.Scene;');
   Form7.SynEdit1.Lines.Add('  import javafx.stage.Stage;');
   Form7.SynEdit1.Lines.Add('  import javafx.scene.Group;');
   Form7.SynEdit1.Lines.Add('  import javafx.scene.text.Text;');
   Form7.SynEdit1.Lines.Add('    ');
   Form7.SynEdit1.Lines.Add('  public class Main extends Application{');
   Form7.SynEdit1.Lines.Add('        ');
   Form7.SynEdit1.Lines.Add('      public static void main(String[] args) {');
   Form7.SynEdit1.Lines.Add('            ');
   Form7.SynEdit1.Lines.Add('          launch(args);');
   Form7.SynEdit1.Lines.Add('      }');
   Form7.SynEdit1.Lines.Add('        ');
   Form7.SynEdit1.Lines.Add('      @Override');
   Form7.SynEdit1.Lines.Add('      public void start(Stage stage) {');
   Form7.SynEdit1.Lines.Add('            ');
   Form7.SynEdit1.Lines.Add('          // установка надписи');
   Form7.SynEdit1.Lines.Add('          Text text = new Text("Hello METANIT.COM!");');
   Form7.SynEdit1.Lines.Add('          text.setLayoutY(80);    // установка положения надписи по оси Y');
   Form7.SynEdit1.Lines.Add('          text.setLayoutX(80);   // установка положения надписи по оси X');
   Form7.SynEdit1.Lines.Add('            ');
   Form7.SynEdit1.Lines.Add('          Group group = new Group(text);');
   Form7.SynEdit1.Lines.Add('            ');
   Form7.SynEdit1.Lines.Add('          Scene scene = new Scene(group);');
   Form7.SynEdit1.Lines.Add('          stage.setScene(scene);');
   Form7.SynEdit1.Lines.Add('          stage.setTitle("JavaFX Application");');
   Form7.SynEdit1.Lines.Add('          stage.setWidth(300);');
   Form7.SynEdit1.Lines.Add('          stage.setHeight(250);');
   Form7.SynEdit1.Lines.Add('          stage.show();');
   Form7.SynEdit1.Lines.Add('      }');
   Form7.SynEdit1.Lines.Add('  }');
  end;



 procedure show_shablon3();
 begin
  Form7.SynEdit1.Lines.Clear;
  Form7.SynEdit1.Lines.Add('//Проверка быстродействия компьютера (Benchmark)');
  Form7.SynEdit1.Lines.Add('import java.util.Scanner;');
  Form7.SynEdit1.Lines.Add('import java.text.DecimalFormat;');
  Form7.SynEdit1.Lines.Add('public class Benchmark{');
  Form7.SynEdit1.Lines.Add('   public static void main(String[] args){');
  Form7.SynEdit1.Lines.Add('');
  Form7.SynEdit1.Lines.Add('      //Ваш код');
  Form7.SynEdit1.Lines.Add('      long st = System.currentTimeMillis();');
  Form7.SynEdit1.Lines.Add('      long et = st + 10000;');
  Form7.SynEdit1.Lines.Add('      long index =0;');
  Form7.SynEdit1.Lines.Add('      System.out.println("\n\n");');
  Form7.SynEdit1.Lines.Add('      System.out.println("Проверка быстродействия компьютера");');
  Form7.SynEdit1.Lines.Add('      System.out.println("Ждите...");');
  Form7.SynEdit1.Lines.Add('      while (true) {');
  Form7.SynEdit1.Lines.Add('          double x = Math.sqrt(index);');
  Form7.SynEdit1.Lines.Add('          long now = System.currentTimeMillis();');
  Form7.SynEdit1.Lines.Add('          if (now >et) {break;}');
  Form7.SynEdit1.Lines.Add('          index++;');
  Form7.SynEdit1.Lines.Add('      }');
  Form7.SynEdit1.Lines.Add('      System.out.println();');
  Form7.SynEdit1.Lines.Add('      System.out.println(new DecimalFormat( "###,###" ).format(index/10) + " циклов за одну секунду");');
  Form7.SynEdit1.Lines.Add('      //Остановка закрытия окна ');
  Form7.SynEdit1.Lines.Add('      Scanner s = new Scanner(System.in);');
  Form7.SynEdit1.Lines.Add('      s.nextLine();');
  Form7.SynEdit1.Lines.Add('   } ');
  Form7.SynEdit1.Lines.Add('}');

 end;

 procedure show_shablon1();
 begin
  Form7.SynEdit1.Lines.Clear;
  Form7.SynEdit1.Lines.Add('// Демонстрация работы кнопок.');
  Form7.SynEdit1.Lines.Add('');
  Form7.SynEdit1.Lines.Add('import java.awt.*;');
  Form7.SynEdit1.Lines.Add('import java.awt.event.*;');
  Form7.SynEdit1.Lines.Add('import javax.swing.*;');
  Form7.SynEdit1.Lines.Add('');
  Form7.SynEdit1.Lines.Add('class ButtonDemo implements ActionListener {');
  Form7.SynEdit1.Lines.Add('');
  Form7.SynEdit1.Lines.Add('  JLabel jlab;');
  Form7.SynEdit1.Lines.Add('');
  Form7.SynEdit1.Lines.Add('  ButtonDemo() {');
  Form7.SynEdit1.Lines.Add('');
  Form7.SynEdit1.Lines.Add('    // Создайте новый контейнер JFrame.');
  Form7.SynEdit1.Lines.Add('    JFrame jfrm = new JFrame("A Button Example");');
  Form7.SynEdit1.Lines.Add('');
  Form7.SynEdit1.Lines.Add('    // Укажите FlowLayout для менеджера компоновки.');
  Form7.SynEdit1.Lines.Add('    jfrm.setLayout(new FlowLayout());');
  Form7.SynEdit1.Lines.Add('');
  Form7.SynEdit1.Lines.Add('    // Установить начальный размер окна.');
  Form7.SynEdit1.Lines.Add('    jfrm.setSize(300, 100);');
  Form7.SynEdit1.Lines.Add('');
  Form7.SynEdit1.Lines.Add('    // Завершите программу, когда пользователь закроет приложение.');
  Form7.SynEdit1.Lines.Add('    jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);');
Form7.SynEdit1.Lines.Add('');
Form7.SynEdit1.Lines.Add('    // Создайте две кнопки');
Form7.SynEdit1.Lines.Add('    JButton jbtnFirst = new JButton("Первый");');
Form7.SynEdit1.Lines.Add('    JButton jbtnSecond = new JButton("Второй");');
Form7.SynEdit1.Lines.Add('');
Form7.SynEdit1.Lines.Add('    jbtnFirst.setActionCommand("First");');
Form7.SynEdit1.Lines.Add('');
Form7.SynEdit1.Lines.Add('    // Добавьте слушателей дсобытий.');
Form7.SynEdit1.Lines.Add('    jbtnFirst.addActionListener(this);');
Form7.SynEdit1.Lines.Add('    jbtnSecond.addActionListener(this);');
Form7.SynEdit1.Lines.Add('');
Form7.SynEdit1.Lines.Add('    // Добавьте кнопки на панель содержимого.');
Form7.SynEdit1.Lines.Add('    jfrm.add(jbtnFirst);');
Form7.SynEdit1.Lines.Add('    jfrm.add(jbtnSecond);');
Form7.SynEdit1.Lines.Add('');
Form7.SynEdit1.Lines.Add('    // Создайте текстовую метку');
Form7.SynEdit1.Lines.Add('    jlab = new JLabel("Press a button. Press a button.");');
Form7.SynEdit1.Lines.Add('');
Form7.SynEdit1.Lines.Add('    // Дабавте текстовую метку на панель содержимого.');
Form7.SynEdit1.Lines.Add('    jfrm.getContentPane().add(jlab);');
Form7.SynEdit1.Lines.Add('');
Form7.SynEdit1.Lines.Add('    // Отобразите окно');
Form7.SynEdit1.Lines.Add('    jfrm.setVisible(true);');
Form7.SynEdit1.Lines.Add('  }');
Form7.SynEdit1.Lines.Add('');
Form7.SynEdit1.Lines.Add('  // Обработка событий кнопок.');
Form7.SynEdit1.Lines.Add('  public void actionPerformed(ActionEvent ae) {');
Form7.SynEdit1.Lines.Add('');
Form7.SynEdit1.Lines.Add('    if(ae.getActionCommand().equals("First"))');
Form7.SynEdit1.Lines.Add('      jlab.setText("First button was pressed.");');
Form7.SynEdit1.Lines.Add('    else');
Form7.SynEdit1.Lines.Add('      jlab.setText("Second button was pressed. ");');
Form7.SynEdit1.Lines.Add('  }');
Form7.SynEdit1.Lines.Add('');
Form7.SynEdit1.Lines.Add('  public static void main(String args[]) {');
Form7.SynEdit1.Lines.Add('');
Form7.SynEdit1.Lines.Add('    // Создайте фрейм в потоке диспетчеризации событий.');
Form7.SynEdit1.Lines.Add('    SwingUtilities.invokeLater(new Runnable() {');
Form7.SynEdit1.Lines.Add('      public void run() {');
Form7.SynEdit1.Lines.Add('        new ButtonDemo();');
Form7.SynEdit1.Lines.Add('      }');
Form7.SynEdit1.Lines.Add('    });');
Form7.SynEdit1.Lines.Add('');
Form7.SynEdit1.Lines.Add('  }');
Form7.SynEdit1.Lines.Add('}');

 end;
 procedure show_shablon2();
 begin
  Form7.SynEdit1.Lines.Clear;
  Form7.SynEdit1.Lines.Add('// Adapters.java');
Form7.SynEdit1.Lines.Add('// Использование адаптеров вместо интерфейсов');
Form7.SynEdit1.Lines.Add('');
Form7.SynEdit1.Lines.Add('import javax.swing.*;');
Form7.SynEdit1.Lines.Add('import java.awt.event.*;');
Form7.SynEdit1.Lines.Add('import java.awt.*;');
Form7.SynEdit1.Lines.Add('');
Form7.SynEdit1.Lines.Add('public class Adapters extends JFrame {');
Form7.SynEdit1.Lines.Add('  public Adapters() {');
Form7.SynEdit1.Lines.Add('    super("Adapters");');
Form7.SynEdit1.Lines.Add('    // при закрытии окна - выход');
Form7.SynEdit1.Lines.Add('    setDefaultCloseOperation(EXIT_ON_CLOSE);');
Form7.SynEdit1.Lines.Add('    // регистрируем слушателя');
Form7.SynEdit1.Lines.Add('    addMouseListener(new MouseL());');
Form7.SynEdit1.Lines.Add('    // выводим окно на экран');
Form7.SynEdit1.Lines.Add('    setSize(300, 300);');
Form7.SynEdit1.Lines.Add('    setLocation(200,200);');
Form7.SynEdit1.Lines.Add('    setVisible(true);');
Form7.SynEdit1.Lines.Add('  }');
Form7.SynEdit1.Lines.Add('');
Form7.SynEdit1.Lines.Add('  // наследуем от адаптера');
Form7.SynEdit1.Lines.Add('  class MouseL extends MouseAdapter {');
Form7.SynEdit1.Lines.Add('    // следим за щелчками мыши в окне');
Form7.SynEdit1.Lines.Add('    @Override');
Form7.SynEdit1.Lines.Add('    public void mouseClicked(MouseEvent e) {');
Form7.SynEdit1.Lines.Add('      JOptionPane.showMessageDialog (null, e, "Нажатие мыши", JOptionPane.INFORMATION_MESSAGE);');
Form7.SynEdit1.Lines.Add('    }');
Form7.SynEdit1.Lines.Add('  }');
Form7.SynEdit1.Lines.Add('');
Form7.SynEdit1.Lines.Add('  public static void main(String[] args) {');
Form7.SynEdit1.Lines.Add('    SwingUtilities.invokeLater(');
Form7.SynEdit1.Lines.Add('        new Runnable() {');
Form7.SynEdit1.Lines.Add('          public void run() {');
Form7.SynEdit1.Lines.Add('            new Adapters();');
Form7.SynEdit1.Lines.Add('          }');
Form7.SynEdit1.Lines.Add('        });');
Form7.SynEdit1.Lines.Add('  }');
Form7.SynEdit1.Lines.Add('}');

 end;
end.

