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:
 

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 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


www.informatika-programozas.hu - Image


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.