Avatar billede instruktor Nybegynder
03. juni 2003 - 10:24 Der er 3 kommentarer og
1 løsning

hvordan skifter man mellem faneblade??

hvordan skifter man mellem fanebleade i JAVA

jeg har lavet en GUI i java med fanebleade og ønsker via en tryk knap at kunne skifte mellem dem.

jeg har oprettet en knap og ved det skal skrives under
public void actionPerformed(ActionEvent e) men hvad er koden der skal bruges ???

brugbar hjælp belønnes med 150 point

mvh Instruktor
Avatar billede soreno Praktikant
03. juni 2003 - 10:31 #1
JTabbedPane jtp = new JTabbedPane();
..
int numberOfTabs = jtp.getTabCount();
int selectedTab = 3;
jtp.setSelectedIndex(selectedTab);

(Utestet kode)
Avatar billede carstenknudsen Nybegynder
03. juni 2003 - 10:37 #2
JTabbedPane pane = ...;
følgende kode skulle vælge den næste tab, eller den første hvis ingen var valgt i forvejen. Hvis den sidste tab var valgt, vælges den første.
int tabs = pane.getTabCount();
int index = pane.getSelectedIndex();
if ( index == -1 ) index = tabs - 1; // vælge sidste tab
index = ( index + 1 ) % count; // ryk til "næste" tab
pane.setSelectedIndex( index ); // vælg tab
Avatar billede soreno Praktikant
03. juni 2003 - 10:38 #3
Et kompilerbart eksempel:


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

public class Main
{
        public static void main(String args[])
        {
            new TestKlasseSwing().show();
        }
}

class TestKlasseSwing extends JFrame implements WindowListener, ActionListener
{
        private int frameWidth = 640;
        private int frameHeight = 480;
        private JTabbedPane tabPane;
        private JButton button;

        public TestKlasseSwing()
        {
            createFrame();
        }
       
        private void createFrame()
        {
            setTitle("TestKlasseSwing");
            addWindowListener(this);
           
            //components
            button = new JButton("button");
            button.addActionListener(this);
            this.getContentPane().add(button, BorderLayout.SOUTH);

            tabPane = new JTabbedPane();
            tabPane.addTab("tab1", null);
            tabPane.addTab("tab2", null);
            tabPane.addTab("tab3", null);
            tabPane.addTab("tab4", null);
            this.getContentPane().add(tabPane, BorderLayout.CENTER);           

            //Center Frame
            java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
            setSize(new java.awt.Dimension(frameWidth, frameHeight));
            setLocation( (screenSize.width-this.getWidth()) / 2, (screenSize.height - this.getHeight()) / 2);
        }
       
        public void windowOpened(WindowEvent e){}
        public void windowClosing(WindowEvent e){ dispose(); System.exit(0);}
        public void windowClosed(WindowEvent e){}
        public void windowIconified(WindowEvent e){}
        public void windowDeiconified(WindowEvent e){}
        public void windowActivated(WindowEvent e){}
        public void windowDeactivated(WindowEvent e){}

        public void actionPerformed(ActionEvent e)
        {
            int temp = tabPane.getSelectedIndex();
            temp++;
            if(temp >= tabPane.getTabCount())
                tabPane.setSelectedIndex(0);
            else
                tabPane.setSelectedIndex(temp);
        }
}
Avatar billede instruktor Nybegynder
03. juni 2003 - 11:02 #4
takker for den hurtige hjælp :-))

Instruktor
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