Bom dia!
Gostaria de saber se tem como adicionar um scroll em um JInternalFrame?
Como?
Estava procurando na internet, mais só explicam como colocar scroll em uma frame normal.
Grata.
Bom dia!
Gostaria de saber se tem como adicionar um scroll em um JInternalFrame?
Como?
Estava procurando na internet, mais só explicam como colocar scroll em uma frame normal.
Grata.
Certamente é possível, experimente o seguinte:
Eu tentei isso mais naum deu mto certo.
Ele alem de naum aparecer o scroll…
Não aparece tambem meus componentes…
package TelasAdmin;
.
.
.
public class TelaPrincipalAdmin extends JInternalFrame
{
private static final long serialVersionUID = 1L;
private JLabel texto;
.
.
.
public JPanel panel;
public Administrador admin;
public JDesktopPane desktop;
public TelaPrincipalAdmin(JDesktopPane desktop, Administrador admin) {
super("Administrador", true , true , true , true);
this.desktop = desktop;
this.admin = admin;
}
public void iniciar()
{
setLayout(new BorderLayout());
int inset = 50;
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setBounds(inset, inset, screenSize.width - inset * 2, screenSize.height - inset * 2);
setLocation(0,0);
panel = new JPanel();
panel.setBackground(new Color(255, 239, 213));
painel.setLayout(null);
JScrollPane scroll = new JScrollPane();
/** Adiciona o painel no frame*/
add(scroll, BorderLayout.CENTER);
scroll.add(painel);
setVisible(true);
desenha();
}
public void desenha()
{
...
painel.add(texto);
painel.add(btAddCadaver);
painel.add(btRemoveCadaver);
painel.add(btLocalizaCadaver);
painel.add(btAddFuncionario);
painel.add(btRemoveFuncionario);
painel.add(btLocalizaFuncionario);
painel.add(btAddUsuario);
painel.add(btRemoveUsuario);
painel.add(btLocalizaUsuario);
painel.add(btFazerMapa);
painel.add(btRemoveMapa);
painel.add(btModificarMapa);
painel.add(btFinanceiro);
painel.add(btMudarSenha);
painel.add(btVoltar);
...
...
}
}
Acho que seus componentes não aparecem porque você não está ajustando a posição/tamanho deles. (Esse ajuste é necessário porque o gerenciador de layout do painel onde você está inserindo os componentes foi ajustado como nulo). Veja a linha abaixo:
Após esta linha, chame setBounds() em :
Outro ponto de atenção: para inserir um componente num JScrollPane não é correto usar add(), a maneira adequada é passar o componente no construtor de JScrollPane ou usar o método setViewportView():
http://java.sun.com/javase/6/docs/api/javax/swing/JScrollPane.html#JScrollPane(java.awt.Component)
http://java.sun.com/javase/6/docs/api/javax/swing/JScrollPane.html#setViewportView(java.awt.Component)
Por fim, para que as barras de rolagem apareçam, é preciso que o tamanho preferencial do componente inserido no JScrollPane esteja ajustado:
Obrigada
Deu certo agora!
Agradeço mesmo.
