Why can't text in JTextPane be programmatically selected if JTextField is present? I think something with focus. thanks.
import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.beans.PropertyChangeListener; import javax.swing.AbstractAction; import javax.swing.Action; import javax.swing.ActionMap; import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.JDesktopPane; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.JTextPane; import javax.swing.KeyStroke; public class align extends JFrame { private align() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); addPane(this, "one"); pack(); setVisible(true); } public static void main(String[] args) { align t = new align(); } private void addPane(JFrame frame, String name) { JPanel panel = new JPanel(); panel.setLayout(new FlowLayout(FlowLayout.LEFT));
EDIT:
Got it to display the selected text, triggering the key event after creating the frame. A better (longer) solution would be to have a read-only text file with custom Highlighter and DocumentListener that supports updating the clipboard to Ctrl-C.
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent( new KeyEvent(textPane, KeyEvent.KEY_PRESSED, System.currentTimeMillis(), 0, KeyEvent.VK_TAB));
java swing
Saideira
source share