1
public class POSToolBar extends JFrame {

/**
 * Launch the application.
 */
private BrowserToolBar toolBar;

public POSToolBar() {
    super("POS");
    Container content = getContentPane();
    content.setBackground(Color.white);
    toolBar = new BrowserToolBar();
    content.add(toolBar, BorderLayout.NORTH);
    pack();
    setVisible(true);
}
}

上面的代码为我生成了一个工具栏。现在我想在每个其他摆动页面上使用这个工具栏。我继承/扩展了这个类并使用了 frame.add(new POSToolbar()) 但它向我显示了一个异常'java.lang.IllegalArgumentException:向容器添加一个窗口' 如何在我的其他摇摆页面上添加这个工具栏?

4

1 回答 1

2

如果您想在其他类中使用它,它必须扩展 JToolBar 而不是 JFrame。

import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.*;

public class TestApplication extends JFrame {
    public static void main(String [] a){
        TestApplication ta = new TestApplication();
        TBar t = new TBar();
        ta.setLayout(new BorderLayout());
        ta.add(t,BorderLayout.NORTH);
        ta.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        ta.setPreferredSize(new Dimension(400,300));
        ta.pack();
        ta.setVisible(true);
    }
}

class TBar extends JToolBar{
    JButton b = new JButton("Hello");

    public TBar(){
        add(b);
    }
}
于 2012-09-08T11:52:37.763 回答