Rijeลกeno: zaobljeni uglovi jframe-a u Javi

zaobljeni uglovi jframea Zaobljeni uglovi JFramea: Poboljลกanje korisniฤkog interfejsa vaลกe aplikacije

Stvaranje estetski ugodnog korisniฤkog interfejsa je od suลกtinskog znaฤaja za uspeลกnu softversku aplikaciju. Jedan popularan trend dizajna je koriลกtenje zaobljenih uglova za okvire prozora, dajuฤ‡i aplikacijama moderan i gladak izgled. U ovom ฤlanku ฤ‡emo istraลพiti kako kreirati Java JFrame sa zaobljenim uglovima, proฤ‡i kroz kod korak po korak i proฤ‡i u povezane biblioteke i funkcije koje ฤ‡e nam pomoฤ‡i da postignemo ovaj dizajn.

Reลกenje: Koriลกฤ‡enje Java AWT i Swing

Temelj naลกeg rjeลกenja leลพi u Java Abstract Window Toolkit (AWT) i Swing biblioteke. Oni pruลพaju skup alata i komponenti za dizajniranje korisniฤkih interfejsa. Da bismo postigli zaobljene uglove na JFrameu, koristit ฤ‡emo prilagoฤ‘eni JFrame sa a paintComponent(Grafika g) metoda, koja ฤ‡e nam omoguฤ‡iti da crtamo na okvir prozora i kreiramo jedinstveni oblik za naลก JFrame.

import java.awt.Graphics;
import java.awt.Shape;
import java.awt.geom.RoundRectangle2D;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class RoundedCornersJFrame extends JFrame {

    private Shape shape;

    public RoundedCornersJFrame() {
        setUndecorated(true);
        JPanel panel = new JPanel() {
            @Override
            protected void paintComponent(Graphics g) {
                super.paintComponent(g);
                shape = new RoundRectangle2D.Double(0, 0, getWidth(), getHeight(), 30, 30);
                g.setClip(shape);
            }
        };
        setContentPane(panel);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }

    public static void main(String[] args) {
        RoundedCornersJFrame frame = new RoundedCornersJFrame();
        frame.setSize(300, 300);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}

Objaลกnjenje korak po korak

Sada, hajde da vas vodimo kroz kod korak po korak:

1. Prvo uvozimo potrebne klase iz Java AWT (Ggraphics, Shape, i RoundRectangle2D) i Swing (JFrame i JPanel) biblioteka.

2. Zatim kreiramo novu klasu pod nazivom RoundedCornersJFrame koji proลกiruje JFrame klasa. Ovo nam omoguฤ‡ava da nadjaฤamo standardnu โ€‹โ€‹funkcionalnost i izgled JFrame-a.

3. Definiramo privatnu varijablu oblika koja se zove Oblik koji ฤ‡e pohraniti zaobljeni pravougaonik.

4. Kreiramo konstruktor za klasu RoundedCornersJFrame, koji ฤ‡e izvrลกiti sljedeฤ‡e radnje:
โ€“ Pozovite `setUndecorated(true)` da uklonite zadane granice JFramea.
โ€“ Kreirajte novi JPanel (panel) i nadjaฤajte metodu `paintComponent(Graphics g)`.
โ€“ Unutar metode `paintComponent(Graphics g)`, kreirajte novu instancu RoundRectangle2D.Double sa specificiranom ลกirinom, visinom i lukom ugla.
โ€“ Pozovite `g.setClip(shape)` da primijenite zaobljeni oblik na grafiฤki objekt panela.

5. Nakon postavljanja naลกeg prilagoฤ‘enog panela kao panela sadrลพaja JFrame-a, postavili smo zadanu operaciju zatvaranja na `EXIT_ON_CLOSE`.

6. Konaฤno, u `main` metodi, kreiramo instancu naลกeg RoundedCornersJFrame, postavljamo njegovu veliฤinu i lokaciju i ฤinimo je vidljivom.

AWT i Swing: Biblioteke za dizajniranje korisniฤkog suฤelja

The Java Abstract Window Toolkit (AWT) biblioteka je platformski nezavisan GUI sistem za kreiranje korisniฤkih interfejsa. Obezbeฤ‘uje komponente kao ลกto su dugmad, nalepnice i paneli, kao i menadลพere rasporeda za organizovanje komponenti unutar kontejnera. AWT takoฤ‘er upravlja upravljanjem dogaฤ‘ajima i omoguฤ‡ava razvoj prilagoฤ‘ene grafike.

U kontrastu, zamah je biblioteka izgraฤ‘ena na vrhu AWT-a, koja nudi poboljลกani skup komponenti sa sofisticiranijim izgledom i osjeฤ‡ajem. Swing komponente su lagane, svestrane i vrlo prilagodljive, ลกto ih ฤini izborom za Java UI dizajn.

Ove biblioteke, kada se efikasno koriste, omoguฤ‡avaju programerima da sa lakoฤ‡om kreiraju moderna, vizuelno privlaฤna korisniฤka suฤelja. Zaobljeni uglovi na JFrames-u su samo jedan primjer kako moลพete poboljลกati korisniฤko suฤelje vaลกe aplikacije pomoฤ‡u funkcija ovih biblioteka.

Sliฤni postovi:

Ostavite komentar