Eu quero adicionar JTable
em JPanel
cujo layout é null
. JPanel
contém outros componentes. Eu tenho que adicionar JTable
na posição correta.
235
Eu quero adicionar JTable
em JPanel
cujo layout é null
. JPanel
contém outros componentes. Eu tenho que adicionar JTable
na posição correta.
Respostas:
Exemplo de layout aninhado / combinação
O Tutorial Java possui informações abrangentes sobre o uso de gerenciadores de layout. Consulte a lição Disposição de componentes dentro de um contêiner para obter mais detalhes.
Um aspecto dos layouts que não é bem abordado pelo tutorial é o de layouts aninhados, colocando um layout dentro de outro para obter efeitos complexos.
O código a seguir coloca uma variedade de componentes em um quadro para demonstrar como usar layouts aninhados. Todos os layouts definidos explicitamente são mostrados como uma borda com título para o painel em que são usados.
Aspectos notáveis do código são:
Nimbus PLAF
NestedLayoutExample.java
Outras capturas de tela
PLAF do Windows
PLAF Aqua do Mac OS X
Ubuntu GTK + PLAF
fonte
Não use um layout nulo. Aprenda a usar o LayoutManagers:
http://download.oracle.com/javase/tutorial/uiswing/layout/using.html
Os LayoutManagers permitem que você lide adequadamente com o redimensionamento de janelas ou contagens de componentes dinâmicos. Eles podem parecer intimidadores a princípio, mas valem o esforço para aprender.
fonte
Pelo que me lembro, o layout nulo significa uma posição absoluta, portanto será muito difícil contar o ponto X para o local no canto superior esquerdo da JTable. Mas se você quiser ter todos os componentes do painel um por um, poderá usar o gerenciador FlowLayout () como
ou, se precisar preencher o painel, use GridLayout () como ...
Boa sorte
fonte
Se você estiver usando o gerenciador de layout nulo, sempre precisará definir os limites de um componente. Esse é o problema no seu caso.
Você deve fazer o que todos sugerem aqui e usar algum gerenciador de layout que economize tempo. Vá e confira o tutorial na publicação de @ jzd.
Aproveite Boro.
fonte
JTable
deve ser adicionado aoJScrollPane
que realmente deve ser adicionado aoJPanel
.O
JPanel
deve ter algum gerenciador de layout.Se você não se importa com a precisão do tamanho dos componentes, pode usar puro
BorderLayout
e combiná-lo comFlowLayout
eGridLayout
. se você precisar de precisão - use jgoodiesFormLayout
.O
FormLayout
é realmente complicado, mas você pode brincar um pouco comWindowBuilder
(que está incorporado no Eclipse) e dar uma olhada no código que ele gera. Pode parecer complicado, mas é apenas uma ignorância.Boa sorte.
fonte
Primeiro, você deve considerar seriamente outros gerenciadores de layout, por exemplo, o BorderLayoutManager (novo JPanel (novo BorderLayout ())) é um bom começo.
Além disso, ao projetar sua caixa de diálogo, lembre-se de que você pode e deve aninhar seus layouts : um JPanel dentro de outro JPanel (por exemplo, um GridLayout dentro de um BorderLayout). Observe: uma caixa de diálogo 'boa' deve ser redimensionada corretamente , de modo que, se o usuário redimensionar seu Quadro, você deseja estender automaticamente seus objetos de informação, como sua tabela, e não mostrar grandes áreas do plano de fundo do JPanel. Isso é algo que você não pode alcançar com um NullLayout.
Mas provavelmente existem casos - em algum lugar deste grande mundo - em que um NullLayout é exatamente o que existe. Então, aqui está um exemplo:
fonte
Quando um componente tem um layout "nulo", é necessário gerenciar o layout sozinho, ou seja, é necessário calcular as dimensões e os locais para os filhos do componente decidirem onde serão desenhados. Bastante tedioso, a menos que seja absolutamente necessário.
Se você realmente deseja esse controle refinado, talvez tente primeiro o GridBagLayout antes de alterar a estrutura da interface do usuário.
fonte
Você pode fazer uso do seguinte código. Para adicionar JTable ao JPanel.
fonte
Espero que isto ajude.
fonte
modelo de tabela depende de sua exigência
fonte
Tente isso.
fonte