Faz um listener pra ver um drag-n-drop do mouse no painel.
se arrastando
se não existe area util na direção do drag
redimensiona painel e arruma posições dos itens atuais
move painel
Você calcula a direção do drag pelo ponto anterior do mouse e ponto atual.
Veja se naquela direção existe mais painel ou se já está no limite…
Caso você precise aumentar ou painel e o usuario esteja indo para o topo, esquerda ou os dois, você terá que realocar os objetos do painel para que visualmente eles fiquem no ‘mesmo lugar’…
Acho que isso vai dar bastante trabalho ^^
A minha solução foi algo que imaginei agora, nunca fiz algo parecido nem sei se existe algo pronto pra te ajudar…
Espero ter ajudado…
fantomas
As scroll bars já não dariam conta deste recado?
flws
aloha
Guilherme Gomes, eu também imaginei isso a principio, mas como vc disse parece ser trabalhoso d+ (se for assim eu acho q vou criar o controle AreaInfinita)
fantomas, poiseh eu posso meter um scroll bar do lado direito e em baixo, a principio com a tela limpa eles nao apareceriam mas vai chegar uma hora q o cara irá precisar rolar esta barra mas como c ela ainda nao está ativa? entendeu? acho q nao da nao
Obrigado por enquanto!
aloha
Alguém conhece o programa de UML Jude? Aquela área de edição dele parece ser bem o que eu quero e se não estou enganado o Jude foi feito em Java também.
Vocês sabem como fazer uma área tipo aquela? Será que o Jude tem o código aberto?
Qualquer dica é bem vinda!
Obrigado
fantomas
Essa de tela ativa de deixou intrigado, o significa isto?
Acabei de executar o Jude e a àrea de edição para diagrama de classes tem justamente as scroll bars para ajudar a deslocar a imagem. O detalhe que reparei foi o box para package, quando eu peguei o canto inferior direito e puxei para esticar o box (streatching) a tela foi se deslocando a medida que ameaçava a ultrapassar seus limites. É este o efeito que vc procura?
Desculpe as perguntas, mas quanto mais clara a ideia mais alta é a possibilidade de alguem aparecer com a resposta.
flws
aloha
Exatamente isso fantomas!
aloha
Eu pensei no seguinte, coloco um panel e faço dele minha área de edição, q vai ser do tamanho exato do panel (estará dentro dele mas será do mesmo tamanho). Dai com 2 barras de rolagem, como dito pelo fantomas, eu posso redimensionar a área de edição que está dentro do panel e entao quando o tamanho da área de edição ultrapassar o tamanho do panel, a barra de rolagem ativa. ok… mas:
Como faz para acoplar a barra de rolagem num panel e fazer ela entender quando tem q “aparecer”?
Obrigado!
Guilherme_Gomes
Faz um teste: coloca um painel dentro de um painel com scrollbar e um botão que aumenta o painel interno (seria legal colocar uma cor no painel interno). Veja o que acontece quando o painel interno aumenta demais, se cria as scrolls… Coisa do tipo.
É fazendo esses exercicios simples que você começa a entender as coisas…
aloha
Guilherme Gomes:
Faz um teste: coloca um painel dentro de um painel com scrollbar e um botão que aumenta o painel interno (seria legal colocar uma cor no painel interno). Veja o que acontece quando o painel interno aumenta demais, se cria as scrolls… Coisa do tipo.
É fazendo esses exercicios simples que você começa a entender as coisas…
"coloca um painel dentro de um painel com scrollbar " ai que está a dúvida, como põe scrollbar num painel???
Obrigado!
Guilherme_Gomes
JScrollPane ?
Marky.Vasconcelos
JPanel principal = new JPanel();
JPanel interno = new JPanel();
JScrollPane pane = new JScrollPane();
pane.setViewPortView(interno);
principal.add(pane);