27 Aralık 2018 Perşembe

Stream Yaratma Metodları

Giriş
Yazının kaynağı burası.

empty metodu
Örnek ver

generate metodu - Sonsuz Bir Stream Yaratır
Stream.generate metodu yazısına taşıdım


iterate metodu
Stream.iterate metodu yazısına taşıdım

of metodu
Verilen T tipinden bir stream oluşturur.
Örnek
Şöyle yaparız.
Stream<String> stream = Stream.of("a", "b", "c");
Örnek
Elimizde bir dizi olsun
String[] tropicalFruits = new String[] {"pineapple", "banana", "mango"};
Şöyle yaparız.
Stream<String[]> stream = Stream.<String[]>of(tropicalFruits);
ofNullable metodu
Java 9 ile geliyor. Açıklaması şöyle.
Returns a sequential Stream containing a single elementif non-nullotherwise returns an empty Stream.

Diğer
1.Collection sınıfının stream() metodu ile stream yaratılabilir.
Örnek ver

2.Arrays.stram() ile yaratılabilir
Örnek ver

3. Stream.Builder() ile yaratılabilir.
Stream.Builder arayüzü yazısına taşıdım.

4. LongStream, IntStream gibi sınıfların rangeClosed() gibi metodları ile yaratılabilir.
Örnek
Şöyle yaparız.
IntStream.rangeClosed('a', 'z').forEach(c -> System.out.println((char)c));
5. Normal sınıfların stream döndüren metodları ile yaratılabilir.
Files.lines () , Pattern.compile(...).splitAsStream(), Random.doubles() gibi metodlar








26 Aralık 2018 Çarşamba

Swing JLabel Sınıfı

Giriş
Şu satırı dahil ederiz.
import javax.swing.JLabel;
constructor
Örnek
Şöyle yaparız.
Jlabel label = new JLabel ("..."); 
constructor - html
Örnek
Şöyle yaparız
new JLabel("<html><img src='http:\\\\...'>")
Eğer html rendering özelliğini kapatmak istersek şöyle yaparız
myLabel.putClientProperty("html.disable", Boolean.TRUE);
constructor - string + alignment
Örnek
Yazıyı ortalamak için şöyle yaparız.
JLabel label = new JLabel("...",JLabel.CENTER);
Yazıyı ortalamak için şöyle yaparız.
JLabel label = new JLabel("...", SwingConstants.CENTER);
constructor - Icon
Şöyle yaparız.
Icon icon = new ImageIcon(...);
JLabel label = new JLabel(icon);
setBounds metodu
Şöyle yaparız.
label.setBounds (23, 90, 61, 45);
setBackground metodu
Arka plan rengini verir. Şöyle yaparız.
label.setBackground (Color.BLUE);
setFont metodu
Şöyle yaparız.
label.setFont(label.getFont().deriveFont(Font.BOLD, 16f));
setForeground metodu
Metin rengini verir. Şöyle yaparız.
label.setForeground (Color.LIGHT_GREEN);
setIcon metodu
Şöyle yaparız.
ImageIcon icon=...;
label.setIcon (icon);
setMinimumSize metodu
Şöyle yaparız.
setMinimumSize(width, height);
setPreferedSize(width, height);
setMaximumSize(width, height);
setForeground metodu
Şöyle yaparız.
lbl.setForeground(Color.black);
setOpaque metodu
Şöyle yaparız.
label.setOpaque (true); //so you can see the background color
setText metodu
HTML ile formatlama yapılabilir. Şöyle yaparız.
String str ="<html><FONT COLOR=RED>Red</FONT></html>";
JLabel coloredLabel =new JLabel(labelText);
setTooltipText metodu
Eğer tooltip kalksın istiyorsak parametre olarak null geçilir.
Örnek
Şöyle yaparız.
label.setToolTipText("My cool nice and fun tooltip");
setVerticalAlignment metoud
Şöyle yaparız.
label.setVerticalAlignment(JLabel.TOP);
setVerticalTextPosition metodu
Şöyle yaparız.
label.setVerticalTextPosition(JLabel.TOP);



24 Aralık 2018 Pazartesi

Swing DefaultTableCellRenderer Sınıfı

Giriş
Şu satırı dahil ederiz.
import javax.swing.table.DefaultTableCellRenderer;
TableCellRenderer arayüzünden kalıtır.

getTableCellRendererComponent metodu
İmzası şöyle. value nesnesi TableModel nesnesinin valueAt (row,index) çağrısının döndürdüğü nesnedir. Bu metod null dönebiliyor ve uygulama çalışmaya devam ediyor.
public Component getTableCellRendererComponent(JTable table,
        Object value,
        boolean isSelected,
        boolean hasFocus, 
        int row, int column) 
Örnek
Şöyle yaparız.
Component cell = super.getTableCellRendererComponent(table, value, isSelected, hasFocus,
  row,column);
JLabel label = (JLabel)(cell);
...
return cell;
Örnek
Arka plan rengi atamak için şöyle yaparız.
if (isSelected) {
  cell.setBackground(Color.blue);
} else {
  cell.setBackground(null);
}
Örnek
Hücreye tooltip atamak için şöyle yaparız.
public Component getTableCellRendererComponent(
                        JTable table, Object value,
                        boolean isSelected, boolean hasFocus,
                        int row, int column) {
  JLabel label = (JLabel)super.getTableCellRendererComponent(table,value,isSelected,
    hashFocus,row,column);
  
  String tooltip = ...;
  label.setToolTipText(pathValue);
  // ...OR this probably works in your case:
  label.setToolTipText(label.getText());
  return label;
}
Diğer
JTable nesnesine renderer atamak için şöyle yaparız.
table.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() {
  ...
});
Bir TableColumn nesnesine renderer atamak için şöyle yaparız.
table.getColumnModel().getColumn(0).setCellRenderer(new MyRenderer());