Gyakorlati alapok IV.

Végre ablakozunk! (AWT, Swing, JavaFX)

 

Ikon (icon)


Ebben a rövid fejezetben lecseréljük az alapértelmezett gőzölgős kávéikont egy saját tervezésűre, amelyet mindig a futtatott Java-alkalmazás bal felső szélén láthatunk. Ez a mozzanat marketingügyileg hozzátartozik az egyéni arculatépítéshez, ezért mindenképpen hasznos megtennünk. Legyen tehát a kávéikon helyett a továbbiakban mindig ez:

 

www.informatika-programozas.hu - Ikon

 

Nem érdemes az ikont túl nagy méretben és részletességgel legyártanunk, mert a rendszer úgyis kis méretben fogja beilleszteni.

Programozástechnikailag az ikoncserét könnyű megtennünk: csupán 2 kódsort kell a kódba, pontosabban a konstruktorfüggvénybe illesztenünk:

Image icon = Toolkit.getDefaultToolkit().getImage("D:\\Java/Projects/SWING - IconTitlebar/icon.jpg");
frame.setIconImage(icon);


Az 1. kódsor létrehozza az ikonobjektumot, míg a 2. kódsor hozzáadja a frame-hez.

 

Nézzük meg a futtatható Java-kódot:

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 



 

 

 

 

Main.java

 

public class Main {

public static void main(String[] args) {
    Window window = new Window();
    }
}


Window.java

import java.awt.Image;
import java.awt.Toolkit;

import javax.swing.JFrame;

class Window extends JFrame {
Window() {
    super();
    JFrame frame = new JFrame();
     Image icon = Toolkit.getDefaultToolkit().getImage("D:\\Java/Projects/SWING - IconTitlebar/icon.jpg");
    frame.setIconImage(icon);
    Center center = new Center();
    frame.setSize(400, 300);
    frame.setTitle("PJP - Penzes Java Programming");
    center.setCenter(frame);
    frame.setVisible(true);
    }
}


Center.java

import java.awt.GraphicsEnvironment;
import java.awt.Point;
import javax.swing.JFrame;

public class Center {

void setCenter(JFrame frame) {
    Point center = GraphicsEnvironment.getLocalGraphicsEnvironment().getCenterPoint();
    int x = (int) center.getX() - (frame.getWidth() / 2);
    int y = (int) center.getY() - (frame.getHeight() / 2);
    Point ablakCenter = new Point(x, y);
    frame.setLocation(ablakCenter);
    }
}

 

Végeredmény (a monitor közepén / felbontástól függetlenül/):

Ikoncsere a bal felső sarokban


www.informatika-programozas.hu - Ikon