У меня проблема с JFileChooser в JMenu. В настоящее время у меня есть, чтобы установить значок на фоне JLabel, который отлично работает. Но вы можете выбрать только файл из перескакивания через папки или с помощью кнопки верхнего каталога. Если я попытаюсь использовать раскрывающееся меню, чтобы выбрать «Справочник, например Рабочий стол», например, фокус с JMenu уходит, а также JFileChooser, все, что осталось, - это выпадающее меню, просто плавающее там. Как только вы нажимаете на любой каталог, выпадающее меню также исчезает и ничего не делает (не выбирает каталог).JFileChooser в выпуске JMenu
Это мой код: Отредактировано Изменено, чтобы проверить код, чтобы вы могли убедиться в этом.
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JFileChooser;
public class test {
private JFrame frame;
public test() {
frame = new JFrame();
frame.setBounds(100, 100, 686, 462);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JMenuBar menuBar = new JMenuBar();
frame.setJMenuBar(menuBar);
JMenu mntest = new JMenu("test");
menuBar.add(mntest);
JFileChooser fileChooser = new JFileChooser();
mntest.add(fileChooser);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
test window = new test();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
Я пытался возиться с установкой на некоторое время теперь, но не могу понять, как держать фокус на меню при выборе из выпадающего меню.
Любая помощь будет отличной. Я уверен, что это что-то простое и глупое, но я не могу найти его.
Обычно вы используете ' JFileChooser # showOpenDialog' или эквивалент. Рассмотрите возможность предоставления [runnable example] (https://stackoverflow.com/help/mcve), который демонстрирует вашу проблему. Это не дамп кода, а пример того, что вы делаете, что подчеркивает проблему, с которой вы сталкиваетесь. Это приведет к меньшему путанице и лучшим ответам – MadProgrammer
Код был обновлен благодаря подсказке =) – wardas23