Skip to content

Instantly share code, notes, and snippets.

@skrb
skrb / DynamicTemplateBuilder.java
Last active December 24, 2023 14:57
動的にString Templateのテンプレートを作成し、ヒープだけでコンパイル、クラスロードまで行う例
import java.lang.reflect.Method;
import java.io.IOException;
import java.util.List;
import java.util.Optional;
import javax.tools.JavaCompiler;
import javax.tools.JavaFileObject;
import javax.tools.StandardJavaFileManager;
import javax.tools.ToolProvider;
@skrb
skrb / DynamicTemplateBuilder.java
Last active December 21, 2023 13:01
String Templateのテンプレートを動的に作成する方法
import java.lang.reflect.Method;
import java.io.IOException;
import java.util.List;
import java.util.Optional;
import javax.tools.JavaCompiler;
import javax.tools.JavaFileObject;
import javax.tools.StandardJavaFileManager;
import javax.tools.ToolProvider;
@skrb
skrb / CompilerTest.java
Last active December 21, 2023 03:21
Compiler APIサンプル その1
import java.io.IOException;
import java.util.List;
import javax.tools.JavaCompiler;
import javax.tools.JavaFileObject;
import javax.tools.StandardJavaFileManager;
import javax.tools.ToolProvider;
public class CompilerTest {
@skrb
skrb / CompilerTest2.java
Last active December 21, 2023 03:22
Compiler API その2 文字列をソースにする
import java.io.IOException;
import java.util.List;
import javax.tools.JavaCompiler;
import javax.tools.JavaFileObject;
import javax.tools.StandardJavaFileManager;
import javax.tools.ToolProvider;
public class CompilerTest2 {
@skrb
skrb / Main.java
Last active September 26, 2019 14:48
Swing Image View Demo
package net.javainthebox.imageview;
import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
@skrb
skrb / Main.java
Created September 26, 2019 14:27
JavaFX Image View Demo
package net.javainthebox.imageview;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class Main extends Application {
@skrb
skrb / AnimationDemo.java
Created June 6, 2019 14:29
AnimationTimerのサンプル
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
import javafx.animation.AnimationTimer;
import javafx.application.Application;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
@skrb
skrb / AnimationDemo.java
Created June 6, 2019 14:29
AnimationTimerのサンプル
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
import javafx.animation.AnimationTimer;
import javafx.application.Application;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
@skrb
skrb / HttpResponseUtils.java
Created August 19, 2017 11:11
HTTP/2 Client Sample
public class HttpResponseUtils {
public static HttpResponse.BodyHandler<Path> createHandler(Path path) {
return (status, headers) -> {
return headers.firstValue("Content-Disposition")
.map(header -> {
if (header.startsWith("attachment;")) {
return Arrays.stream(header.split(";"))
.map(item -> item.trim())
.filter(item -> item.startsWith("filename="))
.findFirst()
@skrb
skrb / MarsBumpMappingDemo.java
Created December 25, 2016 03:52
JavaFX Bump Mapping Demo
import javafx.animation.Animation;
import javafx.animation.Interpolator;
import javafx.animation.RotateTransition;
import javafx.application.Application;
import javafx.geometry.Point3D;
import javafx.scene.Group;
import javafx.scene.PerspectiveCamera;
import javafx.scene.Scene;
import javafx.scene.image.Image;