Hej NG
Jeg har lidt problemer med et JTabbedPane. Når jeg starter applicationen
så kan man se alle de komponenter der ligger på de andre faneblade. Hvis
jeg klikker rundt i de andre faneblade, så forsvinder problemet, og alt
er som det skal være. Jeg har smidt et billede i dk.binaer - På billedet
kan man se problemet - den store "GO"-knap ligger på det sidste faneblad
"Quit". Nogen der ved hvad der kan være galt?
SonofonoS
------------------------------------
Koden kort:
Panelet som indeholder JTabbedPane
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Menu extends JPanel
{
public JTabbedPane tabbedPane;
public Menu()
{
tabbedPane = new JTabbedPane();
//JPanels, med indhold. Se længere nede
Login login = new Login();
Quit quit = new Quit();
quit.setPreferredSize(new Dimension
(Toolkit.getDefaultToolkit ().getScreenSize()));
//Her sættes tabs'ene ind - har prøvet med addTab også.
tabbedPane.insertTab("Quit",null, quit,"Quit the game",0);
tabbedPane.insertTab("Login",null,login,"Login here",0);
tabbedPane.setMnemonicAt(0, KeyEvent.VK_1);
tabbedPane.setMnemonicAt(1, KeyEvent.VK_2);
//tabbedPane.setEnabledAt(1,false);
add(tabbedPane);
}
}
--------------------------------------------------------------
Login-panelet som sættes ind ovenfor
import java.awt.*;
import javax.swing.*;
public class Login extends JPanel
{
private Button btLogin, btQuit, btNewPlayer;
private JTextField tfLogin;
private JPasswordField tfPassword;
private JLabel jlLogin, jlPassword;
public Login()
{
this.setLayout(null);
jlLogin = new JLabel("Login:");
jlPassword = new JLabel("Password:");
btLogin = new Button("Login");
tfLogin = new JTextField();
tfPassword = new JPasswordField();
btQuit = new Button("Quit");
btNewPlayer = new Button("New player");
jlLogin.setBounds(100,100,50,21);
tfLogin.setBounds(95,123,100,21);
jlPassword.setBounds(100,150,100,21);
tfPassword.setBounds(95,173,100,21);
btLogin.setBounds(100,210,60,23);
btNewPlayer.setBounds(170,210,80,23);
btQuit.setBounds(260,210,60,23);
tfPassword.setEchoChar('*');
add(jlLogin);
add(tfLogin);
add(jlPassword);
add(tfPassword);
add(btLogin);
add(btNewPlayer);
add(btQuit);
//this.repaint();
}
}
------------------------------------------------------------------------
Quit-panelet som indsættes
public class Quit extends JPanel
{
private Button knap1;
public Quit()
{
this.setLayout(null);
knap1 = new Button("GO");
knap1.setBounds(100,100,200,200);
add(knap1);
}
}
|