Gyakorlati alapok IV.
Végre ablakozunk! (AWT, Swing, JavaFX)
Kép (image)
A következő felfedezésre váró objektumunk az image, nevezzük egyszerűen
képnek. Ennek frame-be való inzertálása
meglehetősen könnyű lesz. Másoljuk be a kívánt képet a projekt mappájába, az
src mappa mellé. Ezután hozzuk létre az ImageIcon típusú objektumot a
következő módon...
ImageIcon imageIcon = new
ImageIcon("D:\\Java/Projects/SWING - Image/question_mark.jpeg");
...ahol láthatóan paraméterként meg kell adnunk az image teljes és pontos
elérési útját (ez különböző lehet), valamint típusát (itt JPEG). Majd hozzá kell adnunk, mintegy
“be kell csomagolnunk” egy JLabel-objektumba:
JLabel labelImage = new JLabel(imageIcon);
Ezzel az eljárással az image a
JLabel tulajdonságaival, metódusaival
menedzselhető tovább.
Természetesen a keletkezett JLabel-objektumot
hozzá kell adnunk a frame-hez:
frame.add(labelImage);
Az alábbi futtatható Java-kód egy kérdőjel képét jeleníti meg a
frame közepén. Az image eredeti mérete 400 x 400
volt:
Main.java
public class
Main {
public static void main(String[] args) {
Window window = new Window();
}
}
Window.java
import javax.swing.*;
class Window extends JFrame {
Window() {
super();
JFrame frame = new JFrame();
ImageIcon imageIcon = new ImageIcon("D:\\Java/Projects/SWING
- Image/question_mark.jpeg");
JLabel labelImage = new JLabel(imageIcon);
frame.add(labelImage);
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/):
Kép a frame közepén
A projekt exportálása esetén, tehát azon folyamatkor, amely során a projektből
az Eclipse futtatható JAR-file-t készít…
File – Export – Runnable JAR file
...az image természetesen szintén “becsomagolásra” kerül.