Ratkaistu: pyöreät jframe-kulmat javassa

Viimeisin päivitys: 06/19/2023
Kirjoittaja: Java SourceTrail

pyöreät jframe-kulmat sisään Pyöreät JFrame-kulmat: Paranna sovelluksesi käyttöliittymää

Esteettisesti miellyttävän käyttöliittymän luominen on onnistuneen ohjelmistosovelluksen edellytys. Yksi suosittu suunnittelutrendi on käyttää pyöristettyjä kulmia ikkunoiden kehyksissä, mikä antaa sovelluksille modernin ja sileän ulkonäön. Tässä artikkelissa tutkimme, kuinka luodaan pyöristetyt kulmat Java JFrame, käymme läpi koodin vaihe vaiheelta ja perehdymme niihin liittyviin kirjastoihin ja toimintoihin, jotka auttavat meitä saavuttamaan tämän suunnittelun.

Ratkaisu: Java AWT:n ja Swingin käyttö

Ratkaisumme perusta on Java Abstract Window Toolkit (AWT) ja Swing-kirjastot. Ne tarjoavat joukon työkaluja ja komponentteja käyttöliittymien suunnitteluun. Pyöristettyjen kulmien saavuttamiseksi JFramessa käytämme mukautettua JFramea, jossa on a paintComponent (Grafiikka g) menetelmällä, jonka avulla voimme piirtää ikkunan karmiin ja luoda ainutlaatuisen muodon JFramelle.

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);
    }
}

Vaiheittainen selitys

Nyt opastetaan sinut koodin läpi vaihe vaiheelta:

1. Ensin tuomme tarvittavat luokat Java AWT (Ggraphics, Shape ja RoundRectangle2D) ja Swing (JFrame ja JPanel) kirjastoista.

2. Seuraavaksi luomme uuden luokan nimeltä Pyöristetyt kulmatJFrame joka laajentaa JFrame luokkaa. Tämän ansiosta voimme ohittaa JFramen vakiotoiminnallisuuden ja ulkonäön.

3. Määrittelemme yksityisen muotomuuttujan nimeltä muoto joka tallentaa pyöristetyn suorakaiteen muodon.

4. Luomme RoundedCornersJFrame-luokalle konstruktorin, joka suorittaa seuraavat toiminnot:
– Soita "setUndecorated(true)" poistaaksesi oletusarvoiset JFrame-reunukset.
– Luo uusi JPanel (paneeli) ja ohita `paintComponent(Graphics g)` -menetelmä.
– Luo `paintComponent(Graphics g)` -menetelmässä uusi RoundRectangle2D.Double-instanssi, jolla on määritetty leveys, korkeus ja kulman kaari.
– Kutsu `g.setClip(shape)` soveltaaksesi pyöristettyä muotoa paneelin grafiikkaobjektiin.

5. Kun mukautettu paneeli on asetettu JFramen sisältöruuduksi, asetimme oletussulkemistoiminnoksi EXIT_ON_CLOSE.

6. Lopuksi "main"-menetelmässä luomme RoundedCornersJFrame-esiintymän, asetamme sen koon ja sijainnin ja teemme sen näkyväksi.

AWT ja Swing: Kirjastot käyttöliittymän suunnitteluun

- Java Abstract Window Toolkit (AWT) kirjasto on alustasta riippumaton GUI-järjestelmä käyttöliittymien luomiseen. Se tarjoaa komponentteja, kuten painikkeita, tarroja ja paneeleja, sekä asetteluohjaimia komponenttien järjestämiseen säiliöiden sisällä. AWT hoitaa myös tapahtumien käsittelyn ja mahdollistaa mukautetun grafiikan kehittämisen.

Verrattuna, Keinu on AWT:n päälle rakennettu kirjasto, joka tarjoaa parannetun joukon komponentteja hienostuneemmalla ulkoasulla ja tuntumalla. Swing-komponentit ovat kevyitä, monipuolisia ja erittäin muokattavissa, joten ne ovat suosituin Java-käyttöliittymäsuunnittelun valinta.

Nämä kirjastot, kun niitä käytetään tehokkaasti, antavat kehittäjille mahdollisuuden luoda moderneja, visuaalisesti houkuttelevia käyttöliittymiä helposti. JFramesin pyöristetyt kulmat ovat vain yksi esimerkki siitä, kuinka voit parantaa sovelluksesi käyttöliittymää näiden kirjastojen ominaisuuksien avulla.

Related viestiä: