Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

netbeans: Kako napraviti kontrolu koju cu moci da drag and dropujem iz toolboxa

[es] :: Java :: netbeans: Kako napraviti kontrolu koju cu moci da drag and dropujem iz toolboxa

[ Pregleda: 2829 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dreadknight
Nikola Milosevic
Beograd

Član broj: 113813
Poruke: 66
*.dynamic.sbb.rs.

Sajt: www.inspiratron.org


+3 Profil

icon netbeans: Kako napraviti kontrolu koju cu moci da drag and dropujem iz toolboxa18.03.2009. u 18:24 - pre 183 meseci
Dakle da ne duzim mnogo, trebala bi mi pomoc u vidu linkova ili objasnjenja, prihvatljivo je srpski, engleski. Dakle treba mi prosta kontrola, koja bi trebala da se dockuje u toolbox u NetBeans-u, i koju cu moci da prevucem na formu i koja ce na formi da radi sta vec treba, u zavisnosti od pozvanih funkcija. Ne mora cak ni od pocetka, moze i neko izvodjenje vec postojecih kontrola, ali da se to dockuje tamo u toolbox i da moze da se prevlaci na formu.
 
Odgovor na temu

Chobicus
Pancevo

Član broj: 28286
Poruke: 135
*.mozzartbet.com.

ICQ: 31049018


+12 Profil

icon Re: netbeans: Kako napraviti kontrolu koju cu moci da drag and dropujem iz toolboxa19.03.2009. u 08:21 - pre 183 meseci
Koliko sam shvatio treba ti swing komponenta koju ćeš da staviš u NetBeans paletu komponenti.

Ako je to problem, swing komponentu koju si napravio stavljaš u paletu preko Tools->Palette->Swing/AWT Components.
Svi Properties te komponente biće editabilni u NetBeans property editoru ako im napraviš getter i setter metode.
Code:

public int getResolutionX() {
    return resolutionX;
}

public void setResolutionX(int resolutionX) {
    this.resolutionX = resolutionX;
}

public int getResolutionY() {
    return resolutionY;
}

public void setResolutionY(int resolutionY) {
    this.resolutionY = resolutionY;
}

Možeš i da uradiš Override paint metode. Preview ovako "ofarbane" komponente će se videti u NetBeans GUI editoru.
Code:

@Override
public void paint(Graphics g) {
    super.paint(g);
    Graphics2D g2 = (Graphics2D) g;
    ...
    //draw elements      
    ...
}
 
Odgovor na temu

anon315

Član broj: 315
Poruke: 1657
*.adsl-a-1.sezampro.yu.



+13 Profil

icon Re: netbeans: Kako napraviti kontrolu koju cu moci da drag and dropujem iz toolboxa19.03.2009. u 09:52 - pre 183 meseci
Ja sam svojevremeno napravio gomilu takvih komponenti (JavaBeans) dok sam radio na jednom projektu - CPU simulator gde je bilo dosta crtanja, pa mi je ovo drasticno olaksalo posao. Prakticno sam onda mogao indijancima da dam da mi crtaju maske, a ja samo pisem logiku :D

Evo iscupao sam jedan primer ExIli kolo:

Code:

package beans.komb.exili;

import java.awt.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;

public class ExiliDesno extends JPanel {

    Image image;
    
    public ExiliDesno() {
        setLayout(null);
        try {
            image = ImageIO.read(new File("slike" + File.separator + "exili", "exili_desno.png"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D) g;
        if (image == null) return;
        g2.drawImage(image, 0, 0, null);
    }
    
    public Dimension getPreferredSize() {
        return new Dimension(XPREFSIZE, YPREFSIZE);
    }

    private static final int XPREFSIZE = 40;

    private static final int YPREFSIZE = 34;

}



Code:

package beans.komb.exili;

import java.awt.Image;
import java.beans.BeanInfo;
import java.beans.SimpleBeanInfo;

public class ExiliDesnoBeanInfo extends SimpleBeanInfo {
    public Image getIcon(int iconType)
    {
       String name = "";
       if (iconType == BeanInfo.ICON_COLOR_16x16) name = "16";
       else if (iconType == BeanInfo.ICON_COLOR_32x32) name = "32";
       else if (iconType == BeanInfo.ICON_MONO_16x16) name = "16";
       else if (iconType == BeanInfo.ICON_MONO_32x32) name = "32";
       else return null;
       return loadImage("exili_desno_" + name + ".png");
    }


}


Vise takvih komponenti je spakovano u jar u kome se nalaze klase i slike koje su potrebno. A ju korenu jara imas nesto ovako Exili.mf:

Code:

Manifest-Version: 1.0

Name: beans/komb/exili/ExiliDesno.class
Java-Bean: True

Name: beans/komb/exili/ExiliLevo.class
Java-Bean: True

Name: beans/komb/exili/ExiliGore.class
Java-Bean: True

Name: beans/komb/exili/ExiliDole.class
Java-Bean: True


Naravno, komponenta moze biti i komplikovanija (ima logiku), evo na primer linije (jedan bit):

Code:

package beans.shapes;

import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;

import alatke.SwingAlatke;

public class LinijaHor extends JLabel {
    
    Color boja = Color.BLUE; // default je neaktivna
    
    private static final int XPREFSIZE = 100;
    private static final int YPREFSIZE = 7;
    
    public LinijaHor() {
        setBackground(Color.WHITE);
        setText(null);
    }
    
    public void oboji(boolean aktivna) {
        boja = aktivna ? Color.RED : Color.BLUE;
        repaint(); 
    }
    
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D) g;
        // Uključi antialiasing!
        // SwingAlatke.antiAliasingOn(g2);
        g2.setColor(boja);
        g2.draw(new Line2D.Double(0, getSize().getHeight() * 0.5, getSize().getWidth(), getSize().getHeight() * 0.5));
        
    }
    
    public Dimension getPreferredSize() {
        return new Dimension(XPREFSIZE, YPREFSIZE);
    }
    
}
 
Odgovor na temu

dreadknight
Nikola Milosevic
Beograd

Član broj: 113813
Poruke: 66
*.dynamic.sbb.rs.

Sajt: www.inspiratron.org


+3 Profil

icon Re: netbeans: Kako napraviti kontrolu koju cu moci da drag and dropujem iz toolboxa19.03.2009. u 22:42 - pre 183 meseci
Hvala. Zapravo i meni treba za neki projekat za fax, odnosno CPU simulator, pa mi deluje ovo kao najjednostavnije za napraviti.
 
Odgovor na temu

anon315

Član broj: 315
Poruke: 1657
*.adsl-a-1.sezampro.yu.



+13 Profil

icon Re: netbeans: Kako napraviti kontrolu koju cu moci da drag and dropujem iz toolboxa20.03.2009. u 19:59 - pre 183 meseci
Hehe, eto vidis, u dobrom pravcu si poceo da razmisljas

Javni mi se na PP ako hoces, pa cu ti poslati ceo projekat, da ti skrati muke
 
Odgovor na temu

[es] :: Java :: netbeans: Kako napraviti kontrolu koju cu moci da drag and dropujem iz toolboxa

[ Pregleda: 2829 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.