Este dialogo é utilizado para mostrar diferentes telas. Nas telas de tamanho fixo (compostas por JPanel) o layout nao foi definido para o dialog e null para os JPanel. Nesta tela que deve redimensionar-se layout indefinido no dialog e borderlayout no jPanel.
Obrigado.
Na verdade, o tipo de problema que ele descreveu geralmente ocorre justamente por usar setBounds.
Para corrigir, é importante que ele conheça como os gerenciadores de layout funcionam, e passe a usa-los de maneira efetiva.
Em especial o BorderLayout, FlowLayout, GridBagLayout e MigLayout.
Se você usa o construtor do Netbeans, estude melhor o funcionamento do GroupLayout.
E jamais, deixe seu layout como null. setBounds é um anti-pattern em Swing.
Ele parece mais fácil, mas gera uma aplicação sem redimensionamento e não portável. Não deveria ser usado nunca.
barcellosrod
Em que sentido a aplicação se torna não portavél?
Isso ocorre mesmo em janelas Undecorated, no qual não se deseja qualquer tipo de redimensionamento?
Gostaria de entender…
Em diferentes ambientes de janelas, é permitido que os componentes mudem de tamanho. Também fica a cargo do SO definir a área exata do interior da janela.
As fontes também não são calculadas de maneira idêntica e mesmo a mesma fonte, com o mesmo tamanho, em SOs diferentes pode não ser exatamente igual.
Aliás, fica pior ainda se o SO em questão não tiver a fonte que você escolheu. O java substituirá por uma similar, que dificilmente terá as mesmas dimensões da original.
Sim. Ainda assim janelas desse tipo deveriam ser exceção no seu sistema, não regra.