Tananyag‎ > ‎Java‎ > ‎

JFrame, JPanel

Javával is készíthetünk grafikus alkalmazást asztali számítógépek számára. Ehhez a megszokott komponensekből építkezhetünk: ablakokban helyezhetünk el gombokat, szövegdobozokat, feliratokat, stb. Vannak beépített komponensek (pl JFrame, JTextField, JLabel, …), de készíthetünk sajátot is, ha saját grafikát szeretnénk.

JFrame

Egy ablakként jelenik meg, felirattal. Alapból üres, de később hozzá lehet adni bármilyen komponenst.

import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;

public class Main {

    public static void main(String[] args) {
        JFrame frame = new JFrame("Legújabb programom");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setPreferredSize(new Dimension(640, 480));
        
        // Komponensek hozzáadása
        // Középre tesz egy szövegmezőt
        frame.add(new JTextArea(), BorderLayout.CENTER);
        // Az ablak aljára tesz egy 'Nyomj meg!' feliratú gombot
        frame.add(new JButton("Nyomj meg!"), BorderLayout.SOUTH);
        
        frame.pack();
        frame.setVisible(true);
        
    }
    
}

JPanel

Egy általános osztály, alapból teljesen üres. Viszont ha alosztályt származtatunk belőle, és a paintComponent() metódust felülírjuk, saját grafikát adhatunk hozzá.

import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;

public class PanelWithShapes extends JPanel {

    @Override
    protected void paintComponent(Graphics g) {
        g.setColor(Color.BLUE);
        g.fillOval(0, 50, 100, 100);
        
        g.setColor(Color.RED);
        g.drawRect(20, 150, 130, 40);
        
        g.setColor(Color.GREEN);
        g.fillRect(100, 30, 60, 120);
    }
    
}

A JFrame-hez hozzáadhatjuk az add() metódussal:

frame.add(new PanelWithShapes());