txt2一旦覆盖,您可以让组件请求焦点
addNotify。像这样:
private Jtextarea txt2 = new Jtextarea() { public void addNotify() { super.addNotify(); requestFocus(); }};这是程序的完整功能/经过测试的版本:
import java.awt.Dimension;import javax.swing.*;public class Test extends JPanel { private Jtextarea txt1 = new Jtextarea(); private Jtextarea txt2 = new Jtextarea() { public void addNotify() { super.addNotify(); requestFocus(); } }; public Test() { setLayout(null); setPreferredSize(new Dimension(200, 100)); txt1.setBounds(20, 20, 220, 20); txt2.setBounds(20, 45, 220, 20); txt1.setText("Text Field #1"); txt2.setText("Text Field #2"); add(txt1); add(txt2); } private void display() { Object[] options = { this }; JOptionPane pane = new JOptionPane(); pane.showOptionDialog(null, null, "Title", JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, options, txt2); } public static void main(String[] args) { new Test().display(); }}


