2

GridBagConstraints を使用してレイアウトを更新します。ボタンをクリックすると、いくつかの入力フィールドが表示されます。

private class EventListener implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            input_panel.removeAll();
               String str = e.getActionCommand();
               System.out.print(str);

               JLabel jl = new JLabel("Label ");
            // Create constraints
               GridBagConstraints textFieldConstraints = new GridBagConstraints();
               GridBagConstraints labelConstraints = new GridBagConstraints();

               labelConstraints.gridx = 0;
               labelConstraints.gridy = 0;

               input_panel.add(jl,textFieldConstraints);
        }
    }

この関数は正常に実行されますが、奇妙な問題があります。ボタンをクリックすると更新されますが、すぐには表示されません。表示するにはウィンドウのサイズを変更する必要があります。何が起こるのですか?

4

1 に答える 1

4
input_panel.add(jl,textFieldConstraints);
input_panel.revalidate(); //try to add this
input_panel.repaint(); // and this
于 2012-12-09T14:28:54.713 に答える