[Netbeans] Custom component-ustawianie wartości z właściwości

0

Witam

Oto mój komponent, który ostatnio sobie stworzyłem (tworzy zaokrąglony panel z wypełnieniem gradientem liniowym dwukolorowym):

 
package pl.asseco.amms.instalatorperyf.main;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.JPanel;

public class PanelX extends JPanel {

    private static final Color kolorTla = new Color(0, 0, 153);
    private static final Color kolorPrzodu = new Color(225, 225, 225);

    public PanelX() {
        setOpaque(false);
    }

    @Override
    public void paintComponent(Graphics g) {
        int x = 34;
        int y = 34;
        int w = getWidth() - 68;
        int h = getHeight() - 68;
        int arc = 45;   

        Graphics2D g2 = (Graphics2D) g.create();
        GradientPaint gp = new GradientPaint(
                0, 70, kolorPrzodu,
                0, h, kolorTla);

        g2.setPaint(gp);
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                RenderingHints.VALUE_ANTIALIAS_ON);
      
        g2.fillRoundRect(x, y, w, h, arc, arc);
        g2.setStroke(new BasicStroke(3f));
        g2.setColor(kolorTla);
        g2.drawRoundRect(x, y, w, h, arc, arc);

        g2.dispose();
    }
}

Dodałem go do palety i wszytsko ładnie chodzi - tylko chciałbym po kliknięciu właściwości panelu mieć dostęp do zmiany wartośći np x,y czy koloru tła....albo szerokosci obramowania-jakies sugestie?

0

Próbowałem wszystkiego co mi znane - zrobić te zmienne publiczne, zrobic gettery i settery po zmiennych prywatnych...wyklikać to w tej palecie ale nie działa...w ogóle jest taka mozliwość?

0

mouselistener + jdialog?

a co nie działa?

0

Nie nie to nie to:)

Chodzi mi o paletę komponentów w netbeans-np wstawiam do mojego gui jPanel i potem mogę jego właściwości edytować: zmieniać nazwę i rozmiar i kolor tła i inne pierdoły.

Teraz stworzyłem własny komponent i chciałbym dodać do standardowych właściwości panelu swoje zmiany: np. dodać zmiane koloru gradientu albo kąt zaokraglenia rogów poanelu.

0

i mimo wprowadzenia zmian w klasie, kolor się nie zmieniał?;>

0

Oczywisćie że po zmianie w klasie działa tak jak chce.
Ja chce tylko zrobic tak by zamiast robić zmiany w kalsie z ręki , mozna było zrobić zmiany z gui buildera w netbeans.

0

Znalazłem w końcu:

NetBeans IDE allows you to add custom components to Palette. You need to follow some rules as follows:

The custom component shall have a no arguments constructor
The custom component shall be in a compiled state, the palette manager uses the class file to add it.
The new properties will be automatically shown in the Properties panel, provided they have valid getter and setter methods according to the Java bean standards.

Zrobiłem prywatną zmienną i dałem publiczne gettery i settery ... i pojawiło się w końcu w palecie:) Chyba nawet miałem wczesniej tylko w palecie nie pojawia się to na końcu tylko jakoś netbeans wciska to pośrednio...ale jest. Można dac Stringi, booleany i nawet Color.

1 użytkowników online, w tym zalogowanych: 0, gości: 1