Vyřešeno: kulaté rohy jframe v Javě

zaoblené rohy jframe dovnitř Zaoblené rohy JFrame: Vylepšení uživatelského rozhraní vaší aplikace

Vytvoření esteticky příjemného uživatelského rozhraní je nezbytné pro úspěšnou softwarovou aplikaci. Jedním z populárních designových trendů je použití zaoblených rohů pro okenní rámy, které dodávají aplikacím moderní a hladký vzhled. V tomto článku prozkoumáme, jak vytvořit Java JFrame se zaoblenými rohy, projdeme si kód krok za krokem a ponoříme se do souvisejících knihoven a funkcí, které nám pomohou tohoto návrhu dosáhnout.

Řešení: Použití Java AWT a Swing

Základem našeho řešení je Java Abstract Window Toolkit (AWT) si Knihovny houpaček. Poskytují sadu nástrojů a komponent pro návrh uživatelských rozhraní. K dosažení zaoblených rohů na JFrame použijeme vlastní JFrame s a paintComponent (Grafika g) metoda, která nám umožní kreslit na rám okna a vytvořit jedinečný tvar pro náš 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);
    }
}

Vysvětlení krok za krokem

Nyní vás provedeme kódem krok za krokem:

1. Nejprve naimportujeme potřebné třídy z knihoven Java AWT (Ggraphics, Shape a RoundRectangle2D) a Swing (JFrame a JPanel).

2. Dále vytvoříme novou třídu s názvem RoundedRornersJFrame který rozšiřuje Jframe třída. To nám umožňuje přepsat standardní funkčnost a vzhled JFrame.

3. Definujeme privátní proměnnou Shape nazvanou formovat která uloží tvar zaobleného obdélníku.

4. Vytvoříme konstruktor pro třídu RoundedCornersJFrame, který bude provádět následující akce:
– Voláním `setUndecorated(true)` odstraníte výchozí ohraničení JFrame.
– Vytvořte nový JPanel (panel) a přepište metodu `paintComponent(Graphics g)`.
– Uvnitř metody `paintComponent(Graphics g)` vytvořte novou instanci RoundRectangle2D.Double se zadanou šířkou, výškou a rohovým obloukem.
– Chcete-li použít zaoblený tvar na grafický objekt panelu, zavolejte `g.setClip(shape)`.

5. Po nastavení našeho vlastního panelu jako podokna obsahu JFrame nastavíme výchozí operaci zavření na `EXIT_ON_CLOSE`.

6. Nakonec v metodě `main` vytvoříme instanci našeho RoundedCornersJFrame, nastavíme jeho velikost a umístění a zviditelníme ho.

AWT a Swing: Knihovny pro navrhování uživatelského rozhraní

Jedno Java Abstract Window Toolkit (AWT) knihovna je platformově nezávislý GUI systém pro vytváření uživatelských rozhraní. Poskytuje komponenty, jako jsou tlačítka, štítky a panely, a také správce rozvržení pro organizaci komponent v kontejnerech. AWT také zpracovává události a umožňuje vývoj vlastní grafiky.

V porovnání, Houpat se je knihovna postavená na AWT, která nabízí vylepšenou sadu komponent s propracovanějším vzhledem a dojmem. Komponenty Swing jsou lehké, všestranné a vysoce přizpůsobitelné, což z nich činí ideální volbu pro návrh uživatelského rozhraní Java.

Tyto knihovny, jsou-li využívány efektivně, umožňují vývojářům snadno vytvářet moderní, vizuálně přitažlivá uživatelská rozhraní. Zaoblené rohy na JFrames jsou jen jedním příkladem toho, jak můžete zlepšit uživatelské rozhraní vaší aplikace pomocí funkcí těchto knihoven.

Související příspěvky:

Zanechat komentář