微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JTabbedPane 直到我最小化窗口才显示

如何解决JTabbedPane 直到我最小化窗口才显示

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

public class ModuloAdministracion extends JFrame {

JTabbedPane tabbedPane;
JPanelProfesores jPanelProfesores;
JPanelCursos jPanelCursos;
JPanelAlumnos jPanelAlumnos;


public static void main(String[] args) {
    new ModuloAdministracion();
}

public ModuloAdministracion(){
    setinicio();
    tabbedPane=new JTabbedPane();

    jPanelProfesores=new JPanelProfesores();
    jPanelCursos=new JPanelCursos();
    jPanelAlumnos=new JPanelAlumnos();

    tabbedPane.setFont(new Font("Arial",Font.BOLD,20));

    Color myColor=Color.decode("#345FE3");
    Color myColor2=Color.decode("#FBFCFC");

    tabbedPane.setBackground(myColor);
    tabbedPane.setForeground(myColor2);

    tabbedPane.add("Profesores",jPanelProfesores);
    tabbedPane.add("Cursos",jPanelCursos);
    tabbedPane.add("Alumnos",jPanelAlumnos);
    getContentPane().add(tabbedPane);
    tabbedPane.repaint();
}

public void setinicio(){
    setTitle("Modulo de administracion");
    setVisible(true);
    //setLayout(null);
    setLocation(125,50);
    setSize(1100,650);
    setDefaultCloSEOperation(EXIT_ON_CLOSE);
    setResizable(false);

}

public void addLabel(String titulo,int x,int y,int width,int height){
    JLabel anadirLabel=new JLabel(titulo);
    anadirLabel.setBounds(x,y,width,height);
    anadirLabel.setFont(new Font("Arial",50));
    Color myColor = Color.decode("#345FE3");
    anadirLabel.setForeground(myColor);
    add(anadirLabel);
    repaint();
}

public void addLabel1(String titulo,25));
    Color myColor = Color.decode("#FBFCFC");
    anadirLabel.setForeground(myColor);
    add(anadirLabel);
    repaint();
}

public JTextField addTextfield(String texto,int height){
    JTextField txtUser=new JTextField(texto);
    txtUser.setBounds(x,height);
    txtUser.setFont(new Font("Arial",Font.PLAIN,18));
    Color myColor = Color.decode("#1C2833");
    txtUser.setBackground(myColor);
    Color myColor2 = Color.decode("#FBFCFC");
    txtUser.setForeground(myColor2);
    add(txtUser);
    repaint();
    return txtUser;
}

public jpasswordfield addPasswordField(String texto,int height){
    jpasswordfield passUser=new jpasswordfield(texto);
    passUser.setBounds(x,height);
    passUser.setFont(new Font("Arial",18));
    Color myColor = Color.decode("#1C2833");
    passUser.setBackground(myColor);
    Color myColor2 = Color.decode("#FBFCFC");
    passUser.setForeground(myColor2);
    add(passUser);
    repaint();
    return passUser;
}

}

我一直在从事一个项目,但我遇到了 JTabbedPane 的一些问题,这对我来说是一个新组件。我创建了包含我的 JPanel 容器的单独窗口,并添加了它们,但是当我运行程序时,它只显示一个空白窗口,直到我单击最小化窗口。目前它不包含事件或做任何特别的事情,但我不知道为什么当我运行程序时它最初没有出现。

  1. Running component
  2. After minimizing component

解决方法

setInicio();

需要在框架可见之前将组件添加到框架中。

上面的代码需要移到构造函数的末尾。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。