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

Dodavanje 3D ivice zaobljenom dugmetu

[es] :: Java :: Dodavanje 3D ivice zaobljenom dugmetu

[ Pregleda: 1953 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Mr. Rejn
Deki Karamatijević
Sremčica

Član broj: 2514
Poruke: 515
*.adsl-1.sezampro.yu.



+4 Profil

icon Dodavanje 3D ivice zaobljenom dugmetu20.10.2007. u 20:39 - pre 201 meseci
Kako da to uradim,imam klasu zaobljenog dugmeta izvedenu iz Swing JButton,
ali ne znam kako da mu dodam onu normalnu 3D ivicu koju ima običan JButton.

Code:

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

public class RoundButton extends JButton {
    public RoundButton(String label) {
        super(label);

        // These statements enlarge the button so that it
        // becomes a circle rather than an oval.
        Dimension size = getPreferredSize();
        size.width = size.height = Math.max(size.width, size.height);
        setPreferredSize(size);

        // This call causes the JButton not to paint the background.
        // This allows us to paint a round background.
        setContentAreaFilled(false);
    }

    // Paint the round background and label.
    protected void paintComponent(Graphics g) {
        if (getModel().isArmed()) {
            // You might want to make the highlight color
            // a property of the RoundButton class.
            g.setColor(Color.lightGray);
        } else {
            g.setColor(getBackground());
        }
        g.fillRoundRect(0, 0, getSize().width-1, getSize().height-1,15,15);

        // This call will paint the label and the focus rectangle.
        super.paintComponent(g);
    }

    // Paint the border of the button using a simple stroke.
    protected void paintBorder(Graphics g) {
        g.setColor(getForeground());
        g.drawRoundRect(0, 0, getSize().width-1, getSize().height-1,15,15);
    }

    // Hit detection.
    Shape shape;
    public boolean contains(int x, int y) {
        // If the button has changed size, make a new shape object.
        if (shape == null || !shape.getBounds().equals(getBounds())) {
           // shape = new Ellipse2D.Float(0, 0, getWidth(), getHeight());
            shape = new RoundRectangle2D.Float(0, 0, getWidth(), getHeight(),15,15);
        }
        return shape.contains(x, y);
    }
    // konstruktor:
  RoundButton() {}
}


Ag + Na -> Xe
 
Odgovor na temu

nemnesic
nemnesic
Software Developer
Vranje Florida

Moderator
Član broj: 44355
Poruke: 802
*.com
Via: [es] mailing liste



+64 Profil

icon Re: Dodavanje 3D ivice zaobljenom dugmetu22.10.2007. u 06:23 - pre 201 meseci
http://www.java2s.com/Code/Jav...borderbuttonborder3Dborder.htm
http://www.java2s.com/Code/Java/3D/Swingand3Dbook.htm
http://www.jroller.com/gfx/entry/a_jbutton_with_3d_follow
 
Odgovor na temu

Mr. Rejn
Deki Karamatijević
Sremčica

Član broj: 2514
Poruke: 515
*.adsl-1.sezampro.yu.



+4 Profil

icon Re: Dodavanje 3D ivice zaobljenom dugmetu22.10.2007. u 19:35 - pre 201 meseci
^
Linkovi su pomogli,to je to..koji metod trebam sad da promenim/dodam u ovoj klasi da bi se pri
kliku (akciji dugmeta) pojavila ona udubljena ivica (ista ovakva samo inverzna-dobija se
kada se zamene mesta lightColor i darkColor u metodi paintBorder) koja daje onaj efekat "dubine"?
Znaci kako da dodam ono standardno ponasanje senke dugmeta pri kliku ovom zaobljenom dugmetu?
Ag + Na -> Xe
 
Odgovor na temu

nemnesic
nemnesic
Software Developer
Vranje Florida

Moderator
Član broj: 44355
Poruke: 802
*.com
Via: [es] mailing liste



+64 Profil

icon Re: Dodavanje 3D ivice zaobljenom dugmetu22.10.2007. u 19:45 - pre 201 meseci
Mr. Rejn,

a jel mogu da pitam sta ce ti sve ovo...ovaj eye candy?

nn
 
Odgovor na temu

Mr. Rejn
Deki Karamatijević
Sremčica

Član broj: 2514
Poruke: 515
*.adsl-1.sezampro.yu.



+4 Profil

icon Re: Dodavanje 3D ivice zaobljenom dugmetu22.10.2007. u 20:54 - pre 201 meseci
Možeš,pitaj...
Hoću da mi GUI izgleda lepo kako bih ga lakše uvalio korisnicima (bolji izgled mu
malo kompenzuje sporost).Komponente izgledaju privlačnije sa tim zaobljenim izgledom.
Ag + Na -> Xe
 
Odgovor na temu

nemnesic
nemnesic
Software Developer
Vranje Florida

Moderator
Član broj: 44355
Poruke: 802
*.com
Via: [es] mailing liste



+64 Profil

icon Re: Dodavanje 3D ivice zaobljenom dugmetu22.10.2007. u 21:15 - pre 201 meseci
pa zar ne mozes da nadjes neki lepi look an feel umesto da sve kucas?
 
Odgovor na temu

Mr. Rejn
Deki Karamatijević
Sremčica

Član broj: 2514
Poruke: 515
*.adsl-1.sezampro.yu.



+4 Profil

icon Re: Dodavanje 3D ivice zaobljenom dugmetu22.10.2007. u 22:47 - pre 201 meseci
Pa dobro, računam da nije to toliko kucanje,potrebno mi je samo to rukovanje izgledom zaobljene
ivice pri kliku na dugme. Što se tiče LAF-ova, nisam mogao da ih poteram jer mi se javljaju greške
pri učitavanju klasa (substance i synthetica LAF-ovi),ali da ne idemo OT.Nije to razlog zašto
pravim zaobljene ivice na GUI-jednostavno su estetski lepše od pravougaonih.

Ag + Na -> Xe
 
Odgovor na temu

[es] :: Java :: Dodavanje 3D ivice zaobljenom dugmetu

[ Pregleda: 1953 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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