Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [JAVA]Status Bar

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    207

    [JAVA]Status Bar

    Ciao a tutti vorrei mettere una statusBar in un applicazione java...ho controllato e ne AWT ne SWING possiedono questo componente (sempre che nn sono diventato cieco) ho cercato su google e ho trovato alcune doc di classi ma nn riesco a risalire al codice sorgente della classe....sapete darmi un link o la classe????vi ringrazio anticipatamente....

  2. #2
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Ma non c'è la JProgressBar o qualcosa simile?
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Effettivamente questo componente non esiste in nessuno dei package da te citati... forse perchè è semplicissimo costruirne una?

    Una status bar non è nientemeno che un pannello contenente degli oggetti (come altri pannelli, Labels, immagini...)

    Non dovrebbe essere difficile crearne una. Molti la implementano per mezzo di una JLabel (Label AWT), altri tramite un JPanel (Panel AWT) e, secondo il mio parere, la seconda soluzione è più funzionale.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Originariamente inviato da Xadoom
    Ma non c'è la JProgressBar o qualcosa simile?
    Ha chiesto la StatusBar... quella barra che stà su tutte le finestre di Windows in basso dove vengono visualizzate informazioni varie (come la descrizione del menu selezionato, il numero di file di una cartella, la dimensione del file...), non una ProgressBar...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    207
    hai perfettamente ragione se pero' la implemento io come JPanel nn riesco a fargli il bordo TIPICO della Status Bar......nn so molto capace con i bordi
    sai dirmi come fare?

  6. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Basta ridefinire il metodo paintComponent() oppure il metodo paint() ed andare a disegnarglieli... oppure dovrebbe essere possibile impostare il bordo tramite il metodo setBorder(), che, però, non ho mai usato.

    Prova una cosa di questo genere (per farlo incassato, come nelle StatusBar di Windows):
    codice:
    public void paint(Graphics g) {
       g.setColor(SystemColor.controlHighlight);
       g.drawLine(0, 0, getWidth()-1, 0);
       g.drawLine(0, getHeight()-1, getWidth()-1, getHeight()-1);
       g.drawLine(getWidth()-1, getHeight()-1, getWidth()-1, 3);
    
       g.setColor(SystemColor.controlDkShadow);
       g.drawLine(0, 3, getWidth()-2, 3);
       g.drawLine(0, 3, 0, getHeight()-2);
    }
    Non l'ho provata perchè l'ho scritta al volo, ma dovrebbe andare.
    Magari imposta nel costruttore dell'oggetto il colore dello sfondo della StatusBar, usando l'istruzione setBackground(SystemColor.control);

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  7. #7
    Un po' di tempo fa ho fatto una classe StatusBar per un abbozzo di browser in Java.
    Se ti interessa eccola:

    codice:
    import javax.swing.*;
    import java.awt.*;
    
    class StatusBar extends JPanel{
    
    private String msg;
    private int larg, alt;
    private JLabel l;
    private ImageIcon ico;
    private Font f = new Font("Verdana", Font.PLAIN, 12);
    
      public StatusBar(String msg, int larg, int alt){
        super();
        setBorder(BorderFactory.createBevelBorder(1));
        this.setLayout(new FlowLayout(FlowLayout.LEFT));
        this.msg = msg;
        this.larg = larg;
        this.alt = alt;
        ico = new ImageIcon("LancillIcon.png");
        l = new JLabel("  "+msg,ico,JLabel.CENTER);
        l.setFont(f);
        add(l);
      }
    
      public String getMsg(){
        return msg;
      }
    
      public int getLarg(){
        return larg;
      }
    
      public int getAlt(){
        return alt;
      }
    
      public void setLabel(String newMsg){
        msg = newMsg;
        l.setText("  "+msg);
      }
    }
    ovviamente adattala al tuo scopo

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    207
    thx 1000 e' proprio quello che mi serviva....

  9. #9
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Ok, scusate mi ero confuso....
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.