Avatar billede dennism Nybegynder
16. oktober 2006 - 12:46 Der er 2 kommentarer og
1 løsning

Java: Statusbar?

Jeg har lavet et lille program, som jeg gerne vil have til at indeholde en statusbar i bunden fra framet. Skal bl.a. vise om programmet er tilkoblet til en database mm. Programkoden er nederst.

Er der nogen der kan hjælpe mig med at få lave en statusbar til dette eksempel?

import javax.swing.*;

public class Main {

    public static void main(String[] args) {
        JFrame frame = new JFrame("Program med Statusbar");
        JPanel pane = new JPanel();
       
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setResizable(false);
       
        JMenuBar mBar = new JMenuBar();
        JMenu mFile = new JMenu("Filer");
            JMenuItem mFileConnect = new JMenuItem("Tilslut til server");
                mFile.add(mFileConnect);
            JMenuItem mFileDisconnect = new JMenuItem("Afbryd forb. til server");
                mFile.add(mFileDisconnect);
            JSeparator mFileSep1 = new JSeparator();
                mFile.add(mFileSep1);
            JMenuItem mFileExit = new JMenuItem("Exit");
                mFile.add(mFileExit);
        mBar.add(mFile);
       
        pane = new JPanel();
        SpringLayout layout = new SpringLayout();
        pane.setLayout(layout);
       
        JLabel lMessage = new JLabel("Her er noget tekst");
        pane.add(lMessage);
       
        layout.putConstraint(SpringLayout.WEST, lMessage, 10, SpringLayout.WEST, pane);
        layout.putConstraint(SpringLayout.NORTH, lMessage, 10, SpringLayout.NORTH, pane);
       
        frame.setJMenuBar(mBar);
       
        frame.add(pane);
        frame.pack();
        frame.setSize(300,300);
       
        frame.setVisible(true);
       
    }
   
}
Avatar billede backupmand Nybegynder
16. oktober 2006 - 16:01 #1
Swing har ikke en default status bar, som man kan bruge - men man kan gøre brug af et lille hack. Efter din frame.setJMenuBar(mBar) prøv at tilføje flg kode:

        JPanel jp_status = new JPanel();
        jp_status.setLayout(new BorderLayout());
        jp_status.add(new JLabel("statustext"), BorderLayout.CENTER);

        jp_status.setBorder(new BevelBorder(BevelBorder.LOWERED));
                 
        frame.add(pane);
        frame.add(jp_status,BorderLayout.SOUTH);

I virkeligheden er det bare en border, som er "BevelBorder" så det ser ud som om den befindes sig inde i frame'n.
Måske noget der kan bruges?
Avatar billede dennism Nybegynder
26. november 2006 - 18:18 #2
tak, smider du lige et svar?
Avatar billede backupmand Nybegynder
26. november 2006 - 21:43 #3
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester