31 Ocak 2017 Salı

ImageIcon Sınıfı

Giriş
Şu satırı dahil ederiz.
import javax.swing.ImageIcon;
Bu sınıf bir ekran bileşenine resim yüklemek için kullanılır. Şöyle yaparız.
ImageIcon icon=...;
JLabel lbl=new JLabel();
lbl.setIcon(icon);
constructor
Şöyle yaparız.
String filename = "ouput.png";
ImageIcon icon=new ImageIcon(filename);

30 Ocak 2017 Pazartesi

IntBuffer Sınıfı

get metodu
Şöyle yaparız.
IntBuffer integers = ...
int[] array = new int[n];
integers.get(array);

MappedByteBuffer Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.nio.MappedByteBuffer;
constructor
Şöyle yaparız
FileChannel fc = ...;
MappedByteBuffer mbb = fc.map(MapMode.READ_ONLY, 0, 4l);
asIntBuffer metodu
Şöyle yaparız
IntBuffer integers = mbb.asIntBuffer();
getInt metodu
Şöyle yaparız
int prime = mbb.getInt();
order metodu
Şöyle yaparız
mbb.order(ByteOrder.nativeOrder());

27 Ocak 2017 Cuma

Clipboard Sınıfı

constructor
Şöyle yaparız.
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
getContents metodu
Şöyle yaparız.
Transferable t = clipboard.getContents( null );


try {
  if ( t.isDataFlavorSupported(DataFlavor.stringFlavor) )
  {
    Object o = t.getTransferData( DataFlavor.stringFlavor );
    String data = (String)t.getTransferData( DataFlavor.stringFlavor );
    System.out.println( "Clipboard contents: " + data );
  }           
} catch (Exception e) {
  ...
}
setContents metodu
Şöyle yaparız.
StringSelection selection = new StringSelection("A");       
clipboard.setContents(selection, null);

25 Ocak 2017 Çarşamba

Gson JsonObject Sınıfı

Giriş
Şu satırı dahil ederiz.
import com.google.gson.JsonObject;
get metodu
JsonElement döner. Şöyle yaparız.
JsonObject obj = gson.fromJson("{    id:12345,    active:1}", JsonObject.class);
JsonPrimitive prim = obj.get("active").getAsJsonPrimitive();

Gson Gson Sınıfı

Giriş
Şu satırı dahil ederiz.
import com.google.gson.Gson;
constructor
Şöyle yaparız.
Gson gson = new Gson();
fromJson metodu - JsonReader + type
Şöyle yaparız.
T t = ...;
JsonReader reader = ...;
T cse = (T) gson.fromJson(reader, t.getClass());
fromJson metodu - string  + type
Şöyle yaparız.
String str = ...;
Foo foo = gson.fromJson(str, Foo.class);
Şöyle yaparız.
String str ="{\"Welcome\":1,\"Hi\":2,\"Hello\":1,\"Jin\":1}"; 
JsonElement jsonElement = gson.fromJson(str, JsonElement.class);
JsonObject jsonObject = jsonElement.getAsJsonObject();
Şöyle yaparız.
JsonObject obj = gson.fromJson("{id:12345,    active:1}", JsonObject.class);
toJson metodu
Şöyle yaparız.
String str = ...
PrintWriter pw = ...;
gson.toJson (str, pw);

Gson SerializedName Annotation

Giriş
Elimizde şöyle bir json olsun
{
  "default": "...",
  ...
}
Java'da default isimli bir alan oluşturamayız. json'daki default kelimesini bir değişken ile eşleştirmek için şöyle yaparız.
class Foo {
  @SerializedName("default")
  private final String someField;
  ...
}

24 Ocak 2017 Salı

UUID Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.util.UUID;

UUID 128 bit veri saklar. String halie 32 karakter ile temsil edilir. Her karakter 0x0 - 0xF (4 bit)
arasında bir rakamdır.

Kalıtım
Şöyledir.
public final class UUID
  extends Object
  implements Serializable, Comparable<UUID>
fromString metodu
toString () çağrısının sonucunu parse eder. Metodun içi şöyle. UUID 5 parçadan oluşmalı.
public static UUID fromString(String name) {
  String[] components = name.split("-");
  if (components.length != 5)
    throw new IllegalArgumentException("Invalid UUID string: "+name);
  for (int i=0; i<5; i++)
    components[i] = "0x"+components[i];

  long mostSigBits = Long.decode(components[0]).longValue();
  mostSigBits <<= 16;
  mostSigBits |= Long.decode(components[1]).longValue();
  mostSigBits <<= 16;
  mostSigBits |= Long.decode(components[2]).longValue();

  long leastSigBits = Long.decode(components[3]).longValue();
  leastSigBits <<= 48;
  leastSigBits |= Long.decode(components[4]).longValue();

  return new UUID(mostSigBits, leastSigBits);
}
Şöyle yaparız.
UUID.fromString("00001101-0000-1000-8000-00805f9b34fb");
Sağdan itibaren 32 karakteri okur. Geri kalanı dikkate almaz. Dolayısıyla şu iki UUID eşit değere sahip olurlar.
public static void main(String[] args) {
  try {
    UUID t1 = UUID.fromString("38e1036d-7527-42a3-98ca-f2f19d3155db");
    UUID t2 = UUID.fromString("123438e1036d-7527-42a3-98ca-f2f19d3155db");
    System.out.println(t1.toString().equals(t2.toString()));
  } catch (Exception e) {
    e.printStackTrace();
  }
}
randomUUID metodu
Şöyle yaparız.
String userID = UUID.randomUUID().toString();
toString metodu
Örnek ver.


BufferedImage Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
constructor
Şöyle yaparız.
File f = new File("C:\\sample.png");
BufferedImage img = ImageIO.read (f);
constructor - width + height + type  
Şöyle yaparız.
BufferedImage img = new BufferedImage(cols, rows,BufferedImage.TYPE_BYTE_GRAY);
Şöyle yaparız.
BufferedImage img = new BufferedImage(cols, rows,BufferedImage.TYPE_INT_RGB);
getGraphic metodu - BufferedImage
RGB olan bir resimden ARGB olan yeni bir nesne kurmak için şöyle yaparız.
BufferedImage b2 = new BufferedImage(img.getWidth(), img.getHeight(),
  BufferedImage.TYPE_INT_ARGB);
b2.getGraphics().drawImage(img, 0, 0, null);
getHeight metodu
Şöyle yaparız.
int height = img.getHeight();
Tüm pikselleri dolaşmak için şöyle yaparız.
//iterate over every pixel..
for (int y = 0; y < img.getHeight(); y++) {
  for (int x = 0; x < img.getWidth(); x++) {
    int(color img.getRGB(x, y);
    ...
  }
}
getRaster metodu
Şöyle yaparız.
BufferedImage image = ...;      
byte[] data =((DataBufferByte) image.getRaster().getDataBuffer()).getData();
Şöyle yaparız.
byte[] data = ...;
BufferedImage img = new BufferedImage(cols, rows,BufferedImage.TYPE_BYTE_GRAY);
img.getRaster().setDataElements(0, 0, cols, rows, data);
getRGB metodu
Şöyle yaparız.
int val = img.getRGB(0, 0);
Nesneyi matrise çevirmek için şöyle yaparız.
public int[][] getMatrixOfImage(BufferedImage bufferedImage) {
    int width = img.getWidth(null);
    int height = img.getHeight(null);
    int[][] pixels = new int[width][height];
    for (int i = 0; i < width; i++) {
        for (int j = 0; j < height; j++) {
            pixels[i][j] = img.getRGB(i, j);
        }
    }

    return pixels;
}
getWidth metodu
Şöyle yaparız.
int width = img.getWidth();
setRGB metodu
Şöyle yaparız.
int val = ...;
img.setRGB(0, 0,val);