문제가 있습니다. 나는 2 개의 텍스트 박스를 가진 간단한 JFrame
을 디자인했다. JFrame을 로딩 할 때 나는 VirtualKeyboard
을로드하는데 이는 JDialog
폼입니다. 문제는 프레임과 키 보더가 모두 존재하지만 JFrame에서는 텍스트 필드를 클릭 할 수 없다는 것입니다. keybord를 닫으면 JFrame
을 사용할 수 있습니다. 키보드를 열면 JFrame
에 어떻게 액세스 할 수 있습니까?배경 프레임의 JtextField에 포커스를 맞추는 방법?
JFrame
부하는 내가 부르고 때 이것은 내 JFrame의입니다 JDialog
follows_
로 : 내가 할 무엇
public class KeyBoard extends javax.swing.JDialog {
/**
* Creates new form KeyBoard
*/
public KeyBoard(java.awt.Frame parent, boolean modal) {
super(parent, modal);
setFocusableWindowState(false);
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
initComponents();
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource()==jButton2)
{
try{
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_A);
}
catch(Exception E){}
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
if(evt.getSource()==jButton1)
{
try{
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_TAB);
}
catch(Exception E){}
}
}
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
:이 JDialog를 인 내 VirtualKeybord
public class TestText extends javax.swing.JFrame {
static KeyBoard vk;
/**
* Creates new form TestText
*/
public TestText() {
initComponents();
vk = new KeyBoard(new javax.swing.JFrame(), true);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new TestText().setVisible(true);
vk.setLocation(30,500);
vk.setVisible(true);
}
});
}
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
}
입니다 텍스트 필드를 사용하여 키보드와 JFrame에 모두 액세스 할 수 있어야합니다.
어떤 아이디어를 어떻게, 어디서, (왜) 코딩 뭐죠, 불쌍한 내 영어에 대한 – mKorbel
@mKorbel 죄송하는'JFrame' 폼 TestText 작성이 코드. 'vk'는'JDialog' 형태의'VirtualKeyboard'의 객체입니다. – Raghu
'main()'전에 객체 vk를'vk = new KeyBoard (new javax.swing.JFrame(), true);' – Raghu