Bem, queria fazer algo um tanto incomum com o JSplitPane.
Tenho ele inserido em um JPane, dividindo-o em 2…Ativei a propriedade OneTouchExpandable com o método setOneTouchExpandable(true). Esta propriedade faz com que surjam duas setas, cada uma apontando para cada um dos sentidos da direção da divisão do split. Se o usuário clica nessa setas, ele retrai e expande com um único clique um dos lados da divisão…Eu queria que a únic ainteração possível do meu usuário com este JSplitPane fosse através dessas setas. Nãop queria permitir que o usuário arrastasse a barra de divisão do JSplitPane…Tem como fazer isso?
Uma outra coisa…Não tem como fazer aparecer essa setinha do JSplitPane para penas uma única direção? Queria gerar um efeito de esonder/mostrar um painel…
Em vez de usar um JSplitPane, que tal criar um botão bem alto e fininho e alterar manualmente seu layout? Se você quer uma coisa muito diferente de um JSplitPane não dá para usar um JSplitPane, talvez só olhar os fontes do JDK e se inspirar neles.
Essa era minha terceira alternativa, hehe…A segunda era implementar um componente que fizesse isso, com efeito de encolhimento/expansão usando uma thread…Só que essa talvez fosse gerar problemas na minha aplicação porque ela assume o L&F do SO em que está rodando e se eu fizesse um componente no braço, talvez, dependendo do que eu tivesse que fazer, eu estragaria tudo, hehehe…
Só pensei em perguntar antes, porque talvez o JSplitPane tenha funcionalidades que eu nunca tenha usado e desconheça…Bem, mas se não dá, não dá…Vou pensar nessas alternativas…
Valeu…
Se você quer algo parecido com o que você quer, acho que um dos exemplos do SwingX parece com o que você quer.
http://wiki.java.net/bin/view/Javadesktop/SwingLabsSwingXJXCollapsiblePaneExtending
Bicho, pior que eu já testei esse pacote de componentes…Funcionalmente seriam perfeitos para mim. Todavia, destoam esteticamente do restante da minha aplicação (já que ela deve assumir o L&F do SO do usuário). Daí a coisa fica medonha…Os componentes do SwingX não obedecem às seguintes instruções (que uso para adequar esteticamente toda a minha aplicação):
try
{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
SwingUtilities.updateComponentTreeUI(this);
}
catch(Exception ex){}
Bah, mas da última vez que eu dei uma olhada, não cheguei a ver esse JXCollapsiblePane…Na ocasião eu tentei usar o JXTaskPane…
Bem interessante este componente…
Opa…
Cara, testei agora a combinação StackedBox com JXCollapsiblePane e aparentemente respondeu bem à adequação ao layout…Acho que meu problema era mesmo o JXTaskPane…Acho que vou adotar esta solução. Valeu mesmo pela dica…
Basta utlizar o método setEnabled do JSplitPane com o argumento False.
JSplitPane splitPane = new JSplitPane();
splitPane.setEnabled(false);
Interessante que mesmo utilizando esse método ainda é possível utlizar as setas providas pelo método setOneTouchExpandable(true).
Abraço a todos.