gpt4 book ai didi

java - 如何将 JFileChooser 放置在特定父窗口/框架的顶部

转载 作者:太空宇宙 更新时间:2023-11-04 15:10:37 25 4
gpt4 key购买 nike

对于我的开发,我使用 3 个显示器。当我打开 Java 应用程序并将其拖动到另一个屏幕并按下按钮以显示 FileChooser 时。文件选择器出现在主显示器上,由 Windows 设置。这有什么问题吗?

JFileChooser fileChooser = new JFileChooser();
fileChooser.showOpenDialog(<parent Comp>);

我应该怎么做才能让它(文件选择器)出现在我的 Java 应用程序之上?

最佳答案

看来您以错误的方式获取 parent

import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;


public class MainWindow extends JFrame
{
private static final long serialVersionUID = 1708404088747322174L;
private JPanel contentPane;

/**
* Create the frame.
*/
public MainWindow()
{
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);

final JFileChooser fileChooser = new JFileChooser();
final JButton button = new JButton("Test");

button.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(final ActionEvent arg0)
{
fileChooser.showOpenDialog(button.getParent());
}
});

contentPane.add(button);
}

/**
* Launch the application.
*/
public static void main(final String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
try
{
final MainWindow frame = new MainWindow();
frame.setVisible(true);
}
catch (Exception e)
{
e.printStackTrace();
}
}
});
}
}

在此示例中,JFileChooser 放置在父组件顶部

关于java - 如何将 JFileChooser 放置在特定父窗口/框架的顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21372907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com