sponsored links

Probleem bij het maken van een diepe ronde rand!

Hi,

Ik heb een FlowFieldManager met daarin 2 velden. ik wil een afgeronde rand eromheen. Ik heb het geprobeerd met

Randrand = BorderFactory.createRoundedBorder (nieuwe XYEdges (3, 14, 3, 14), Color.WHITE, Border.STYLE_FILLED);
ffm.setBorder (grens);

Met de bovenstaande code krijg ik een afgeronde rand, maar ik wil dat de curve aan de linker- en rechterkant meer rond is. Als ik de waarde van links en rechts, dus 3, verhoog, is de component daarin niet goed zichtbaar. Componenten worden ingedeeld met behulp van sublayout (), zodat de breedte en hoogte van de manager stabiel is.

Om dit probleem op te lossen, geloof ik dat ik graphics.fillRoundRect () mag gebruiken. Ik heb de volgende code geprobeerd:

ffm = nieuwe FlowFieldManager (VerticalFieldManager.FIELD_HCENTER) {
            beschermde nietige verf (Graphics g) {
                g.setBackgroundColor (Color.WHITE);
                g.fillRoundRect (1, 3, getWidth (), getHeight (), 10, 5);
            }
        };
        ffm.add (txt);
        ffm.add (BTN);
        toe te voegen (FFM);

Met de bovenstaande code zie ik alleen het zwarte gebied in de plaats van de ffm-manager.

Kan iemand aangeven waar ik het mis heb en hoe het kan worden rechtgezet?

Ik heb haast om dit probleem te achterhalen. Alle hulp wordt op prijs gesteld.

Dankzij


probeer dit

beschermde nietige verf (Graphics g) {
        int oldColor = g.getColor ();
        g.setColor (Color.BLUE);
            g.drawRoundRect (1, 1, getWidth (), getHeight (), 24, 24);
            g.setColor (oldColor);
            super.paint (g);
            }
Tags: