Witam,
Utworzyłem JPopupMenu i dodałem do niego JTextField. Gdy używam LookAndFeel Metal bądź Nimbus wszystko działa poprawnie. W przypadku wyglądu Windows nie mogę wprowadzać do pola tekstowego polskich znaków, ponieważ przy wciśnięciu prawego przycisku ALT menu znika. Aplikację do tej pory pisałem właśnie na wyglądzie Windows i chciałbym się go już trzymać.
Moje pytanie teraz brzmi, czy jest możliwość ominięcia tego problemu, czy lepiej zastosować inne rozwiązanie w tym wypadku?
import javax.swing.*;
import java.awt.event.*;
public class Popup extends JFrame {
JPopupMenu popup;
JPanel panel;
JTextField field;
public Popup(){
setSize(500,400);
try {
//UIManager.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel");
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (ClassNotFoundException | InstantiationException
| IllegalAccessException | UnsupportedLookAndFeelException e1) {
e1.printStackTrace();
}
SwingUtilities.updateComponentTreeUI(this);
popup = new JPopupMenu();
field = new JTextField(10);
popup.add(field);
JButton button = new JButton("Options");
button.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
popup.show(e.getComponent(), e.getX(), e.getY());
}
});
panel = new JPanel();
panel.add(button);
add(panel);
}
public static void main(String[] args){
Popup pop = new Popup();
pop.setVisible(true);
}
}