0

inputWidget と outputWidget の両方にフォームが格納されています。ボタン addInput と addOutput は、secondaryInOutPanel に 2 つの異なるフォームを表示します。

ただし、ボタンをクリックしてフォーム間を移動すると、大幅な遅延が発生します。実際、フォームをクリックしようとすると変更されます。そして、以前のフォームからのいくつかの目に見える図面がまだあります.

SwingUtilities を使用してみましたが、遅延が最悪になりました。

    secondaryInOutPanel = new JPanel(new BorderLayout());
    secondaryInOutPanel.setMinimumSize(new Dimension(200,400));     

    JPanel btnPanel = new JPanel();
    outinPanel.add(btnPanel, BorderLayout.NORTH);

    JButton addInput = new JButton("Add Input");
    btnPanel.add(addInput);
    addInput.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            secondaryInOutPanel.removeAll();                                
            secondaryInOutPanel.add(inputWidget, BorderLayout.NORTH);               
            JButton addBtn = new JButton("Save Input");
            secondaryInOutPanel.add(addBtn, BorderLayout.SOUTH);
            addBtn.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e) {
                    // TODO Auto-generated method stub                      
                }                   
            });
        }
    });

    JButton addOutput = new JButton("Add Output");
    btnPanel.add(addOutput);
    addOutput.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent arg0) {
            secondaryInOutPanel.removeAll();                            
            secondaryInOutPanel.add(outputWidget, BorderLayout.NORTH);              
            JButton addBtn = new JButton("Save Output");
            secondaryInOutPanel.add(addBtn, BorderLayout.SOUTH);
            addBtn.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e) {
                    // TODO Auto-generated method stub                      
                }                   
            });
        }
    }); 
4

2 に答える 2

1

変更を行った後revalidate()、 and またはを呼び出す必要があります。repaint()secondaryInOutPanel

于 2013-12-16T16:36:25.383 に答える