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

Crtanje po swing komponentama

[es] :: Java :: Crtanje po swing komponentama

[ Pregleda: 3306 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

jabobibobi
Sretenovic Zoran
BG

Član broj: 21567
Poruke: 17
195.252.113.*



Profil

icon Crtanje po swing komponentama24.08.2004. u 13:43 - pre 240 meseci

"Ulepsavanje" swing aplikacija, kako? Izgledi swing komponenti kakarteristichih look&feel su jednobojni za komponentu. Mozete menjati background ili foreground, dadati border i .. . Kako iscrtati nesto na swing komponenti. U medotu paintComponent ili.... . Komponente imaju svoj Graphisc ( getGraphics() ) ali se nista ne desava kada se izvode crtanja po njemu ili negde gresim. Dok komponenta nije vidljiva nezna se njena velicina, a vi naprimer zelite da vas JButton pola bude plav, a pola zelen ( glup primer, ali primer, ili nacrtati elipsu u boji na JLabel) kako ?



 
Odgovor na temu

veljaradenkovic
Velja Radenkovic
Beograd

Član broj: 2977
Poruke: 281
*.rvkds.net

ICQ: 147120023


Profil

icon Re: Crtanje po swing komponentama24.08.2004. u 15:04 - pre 240 meseci
Hoces da prosiris funkcionalnost klase javax.swing.JLabel logicno je da je nasledis i overrajdujes paintComponent(Graphics g) metodu.

Code:

import java.awt.Graphics;

import javax.swing.JLabel;

/*
 * Created on Aug 24, 2004*/

public class DecoratedLabel extends JLabel {
    /**
     * 
     */
    public DecoratedLabel() {
        super();
    }
    /**
     * @param text
     */
    public DecoratedLabel(String text) {
        super(text);
    }
    
    /* (non-Javadoc)
     * @see javax.swing.JComponent#paintComponent(java.awt.Graphics)
     */
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawLine(0,0,this.getWidth(),this.getHeight());
        g.drawLine(0,this.getHeight(),this.getWidth(),0);
    }
}


Ovo ne crta elipsu ali to uradi sam.

Treba jos da dodas svoju komponetu na neki panel ovako:

Code:

import javax.swing.JFrame;

/*
 * Created on Aug 24, 2004
 */
public class MainFrame extends JFrame {
    private javax.swing.JPanel jContentPane = null;

    private DecoratedLabel decoratedLabel = null;
    public static void main(String[] args) {
    }
    /**
     * This is the default constructor
     */
    public MainFrame() {
        super();
        initialize();
    }
    /**
     * This method initializes this
     * 
     * @return void
     */
    private void initialize() {
        this.setSize(300,200);
        this.setContentPane(getJContentPane());
    }
    /**
     * This method initializes jContentPane
     * 
     * @return javax.swing.JPanel
     */
    private javax.swing.JPanel getJContentPane() {
        if(jContentPane == null) {
            jContentPane = new javax.swing.JPanel();
            jContentPane.setLayout(new java.awt.BorderLayout());
            jContentPane.add(getDecoratedLabel(), java.awt.BorderLayout.CENTER);
        }
        return jContentPane;
    }
    /**
     * This method initializes decoratedLabel    
     *     
     * @return DecoratedLabel    
     */    
    private DecoratedLabel getDecoratedLabel() {
        if (decoratedLabel == null) {
            decoratedLabel = new DecoratedLabel();
            decoratedLabel.setText("JLabel");
        }
        return decoratedLabel;
    }

 }



Javi jel u redu da izbrisem visak.
 
Odgovor na temu

jabobibobi
Sretenovic Zoran
BG

Član broj: 21567
Poruke: 17
195.252.113.*



Profil

icon Re: Crtanje po swing komponentama01.09.2004. u 11:35 - pre 240 meseci


OK. Ovaj nacin je dobar . Radi !!!
Hvala !!!
 
Odgovor na temu

kobrejabre
Bgd

Član broj: 1793
Poruke: 269
*.nat-pool.bgd.sbb.co.yu

Sajt: www.nemam.com


Profil

icon Re: Crtanje po swing komponentama02.09.2004. u 10:23 - pre 240 meseci
Citat:
jabobibobi: OK. Ovaj nacin je dobar . Radi !!!

Sigurno je da radi, ali ne dobro. Razmisli - za svaku sitnicu koju hoces da dodas treba da pravis posebnu komponentu i na kraju zavrsis u ogromnoj hijerarhiji specijalizovanih klasa. Resenje za ovakve probleme je Decorator design pattern (pogledaj knjigu Design Patterns od Gang of Four, ili potraziti preko google-a neku knjigu o paternima u Javi).
 
Odgovor na temu

[es] :: Java :: Crtanje po swing komponentama

[ Pregleda: 3306 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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