मेरे पास एक जावा स्विंग एप्लिकेशन है जिसमें टेक्स्ट नियंत्रण वाले बाल संवाद होते हैं। और समस्या यह है कि जब आप बाल संवाद में कीबोर्ड लेआउट बदलते हैं, तो संवाद बंद होने के बाद यह ठीक से बदल जाता है।स्विंग ऐप में कीबोर्ड लेआउट को संरक्षित करना?
मुझे स्विच करने के बाद रहने के लिए केबोर्ड लेआउट की आवश्यकता है चाहे इसे मुख्य फ्रेम में या बाल फ्रेम में स्विच किया गया हो।
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class InheritInputContext {
public static void main(String[] arg) {
final MainFrame mainFrame = new MainFrame();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
mainFrame.setPreferredSize(new Dimension(300, 400));
mainFrame.pack();
mainFrame.setLocationRelativeTo(null);
mainFrame.setVisible(true);
}
});
}
}
class MainFrame extends JFrame {
MainFrame() {
setLayout(new BorderLayout());
JTextArea textArea = new JTextArea();
add(textArea, BorderLayout.CENTER);
JButton dialogBtn = new JButton("Dialog");
add(dialogBtn, BorderLayout.SOUTH);
dialogBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
ChildDialog cd = new ChildDialog(MainFrame.this);
cd.setPreferredSize(new Dimension(200, 200));
cd.setLocationRelativeTo(MainFrame.this);
cd.pack();
cd.setVisible(true);
}
});
}
}
class ChildDialog extends JDialog {
ChildDialog(Window w) {
super(w);
JTextArea textArea = new JTextArea();
getContentPane().add(textArea);
}
}
क्या आप ऑपरेटिंग सिस्टम के कीबोर्ड लेआउट के बारे में बात कर रहे हैं? यहां थोड़ा उलझन में है। –