Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为浮动JToolBar设置特定位置_Java_Swing_Jtoolbar - Fatal编程技术网

Java 为浮动JToolBar设置特定位置

Java 为浮动JToolBar设置特定位置,java,swing,jtoolbar,Java,Swing,Jtoolbar,我想在启动应用程序时为JToolBar设置一个特定位置。 有没有办法在屏幕上的特定点上设置JToolBar的浮动位置 我以这段代码为例,它将创建一个工具栏,并尝试将其设置为浮点(300200),但它会在位置(0,0)显示它(浮点) 谢谢要给工具栏一个绝对布局,首先必须将布局设置为null,如下所示:frame.setLayout(null)而不是((basictolbarui)toolbar.getUI()).setFloating(true,新点(300200))您只需使用工具栏。设置边界(x

我想在启动应用程序时为JToolBar设置一个特定位置。 有没有办法在屏幕上的特定点上设置JToolBar的浮动位置

我以这段代码为例,它将创建一个工具栏,并尝试将其设置为浮点(300200),但它会在位置(0,0)显示它(浮点)


谢谢

要给工具栏一个绝对布局,首先必须将布局设置为null,如下所示:
frame.setLayout(null)而不是
((basictolbarui)toolbar.getUI()).setFloating(true,新点(300200))您只需使用
工具栏。设置边界(x、y、宽度、高度)

}

从的源代码中,
参数仅在第一个参数为
false
的情况下使用,并用于查找将工具栏停靠到其原始
容器的位置

基本上,
floating
作为布尔参数,如下所示:

if(floating)
,松开工具栏并将其放入
窗口中,该位置对应于
basictolbarui
的内部
floatingX
floatingY
变量(根本不使用
参数)

否则
,将其停靠回
容器
,使用
参数查找停靠位置(北、东…)

幸运的是,有一种方法可以修改
floatingX
floatingY
的值:
setFloatingLocation(intx,inty)

因此,只需在调用
setFloating
之前调用此方法(您可以向其传递
null
参数,因为它无论如何都不会被使用)

public static void main(String[] args) {
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JToolBar toolbar = new JToolBar();
    toolbar.add(new JButton("button 1"));
    toolbar.add(new JButton("button 2"));

    Container contentPane = frame.getContentPane();
    contentPane.add(toolbar, BorderLayout.NORTH);

    ((BasicToolBarUI) toolbar.getUI()).setFloating(true, new Point(300, 200));

    frame.setSize(350, 150);
    frame.setVisible(true);
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setLayout(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JToolBar toolbar = new JToolBar();
toolbar.add(new JButton("button 1"));
toolbar.add(new JButton("button 2"));

Container contentPane = frame.getContentPane();
contentPane.add(toolbar, BorderLayout.NORTH);

toolBar.setBounds(100,100,50,50);

frame.setSize(350, 150);
frame.setVisible(true);
((BasicToolBarUI) toolbar.getUI()).setFloatingLocation(300, 200);
((BasicToolBarUI) toolbar.getUI()).setFloating(true, null);