我正在学习 Java Swing,我对BorderLayout对象的使用有疑问。
我有这个创建工具栏的简单示例程序:
package com.andrea.menu;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JToolBar;
import javax.swing.SwingUtilities;
public class ToolBar extends JFrame {
public ToolBar() {
initUI();
}
public final void initUI() {
JMenuBar menubar = new JMenuBar(); // The menu bar containing the main menu voices
JMenu file = new JMenu("File"); // Creo un menu a tendina con etichetta "File" e lo aggiungo
menubar.add(file);
setJMenuBar(menubar); // Sets the menubar for this frame.
JToolBar toolbar = new JToolBar();
ImageIcon icon = new ImageIcon(getClass().getResource("exit.png"));
JButton exitButton = new JButton(icon);
toolbar.add(exitButton);
exitButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
System.exit(0);
}
});
add(toolbar, BorderLayout.NORTH);
setTitle("Simple toolbar");
setSize(300, 200);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
ToolBar ex = new ToolBar();
ex.setVisible(true);
}
});
}
}
所以它按以下行创建了一个JToolBar对象:
JToolBar toolbar = new JToolBar();
然后将其放在BorderLayout对象的NORTH位置:
add(toolbar, BorderLayout.NORTH);
阅读文档我知道:
边界布局布置了一个容器,对其组件进行排列和调整大小以适应五个区域:北、南、东、西和中心
我的疑问是:BorderLayout
它所指的对象是谁?在外部JFrame容器中?
这意味着它将工具栏对象放在我的JFrame的 NORTH 位置?或者是什么?