Автоматическая установка массива строк в буфер обмена один за другим при нажатии клавиши
Когда я копирую текст (разделенный табуляцией), моя программа разбивает скопированные тексты и сохраняет их в массиве строк. когда я нажму кнопку, она будет отображать массив текста один за другим и отображать вместе с набором текста в буфер обмена. я могу отображать текст, но не могу установить его в буфер обмена. Может ли кто-нибудь исправить мой код? мой код приведен ниже. заранее спасибо.
import java.awt.*; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.DataFlavor; import java.awt.datatransfer.StringSelection; import java.awt.event.*; import javax.swing.*; class MyProj { public static void main(String [] args) throws Exception { Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); String result = (String) clipboard.getData(DataFlavor.stringFlavor); StringSelection stringSelection = new StringSelection (aa[i]); clipboard.setContents (stringSelection, null); Buttonpanel panela = new Buttonpanel(); panela.getstring(result); JFrame Frame = new JFrame("hiiiiii"); Buttonpanel panel = new Buttonpanel(); Frame.add(panel); Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Frame.setBounds(700,300,300,200); Frame.setVisible(true); } } class Buttonpanel extends JPanel implements ActionListener { JButton button; JLabel label; static String[] aa ; String bb = ""; static int i = 0; Buttonpanel() { button = new JButton("Push"); add(button); button.addActionListener(this); label = new JLabel("hiiii"); add(label); } void getstring(String bb) { aa = bb.split(" "); } public void actionPerformed(ActionEvent e) { label.setText(aa[i]); System.out.println(""+ i ); //loop working here i ++; } }
Что я уже пробовал:
я могу отображать текст, но не могу установить его в буфер обмена. Может ли кто-нибудь исправить мой код? мой код приведен ниже. заранее спасибо.
Afzaal Ahmad Zeeshan
Можете ли вы получить доступ к буферу обмена или что возвращает буфер обмена, когда вы пытаетесь получить к нему доступ?
Member 12972343
да, я могу получить доступ к буферу обмена, если помещу непосредственно любую строку вместо значения массива aa[i].