JTable
ক্লিপবোর্ডে আমি কোনও সেল থেকে পাঠ্যটি অনুলিপি করতে চাই , এটি মাইক্রোসফ্ট ওয়ার্ডের মতো অন্যান্য প্রোগ্রামগুলিতে আটকানো উপলব্ধ করে। আমার কাছে পাঠ্যটি আছে JTable
তবে আমি কীভাবে ক্লিপবোর্ডে এটি অনুলিপি করতে পারি তা সম্পর্কে আমি নিশ্চিত নই।
JTable
ক্লিপবোর্ডে আমি কোনও সেল থেকে পাঠ্যটি অনুলিপি করতে চাই , এটি মাইক্রোসফ্ট ওয়ার্ডের মতো অন্যান্য প্রোগ্রামগুলিতে আটকানো উপলব্ধ করে। আমার কাছে পাঠ্যটি আছে JTable
তবে আমি কীভাবে ক্লিপবোর্ডে এটি অনুলিপি করতে পারি তা সম্পর্কে আমি নিশ্চিত নই।
উত্তর:
এটি আমার পক্ষে কাজ করে এবং বেশ সহজ:
এগুলি আমদানি করুন:
import java.awt.datatransfer.StringSelection;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
এবং তারপরে আপনি যেখানে ক্লিপবোর্ড পরিবর্তন করতে চান সেখানে কোডের এই স্নিপেটটি রাখুন:
String myString = "This text will be copied into clipboard";
StringSelection stringSelection = new StringSelection(myString);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(stringSelection, null);
stringSelection
দ্বিতীয় যুক্তি setContents(..)
হিসাবেও যুক্ত হওয়া, যুক্ত লিখিত ClipboardOwner
উত্তরের মতো এটির কোনও তাত্পর্য নেই: উত্সের দিকে তাকালে , ClipboardOwner
এটি প্রয়োগ করার একমাত্র পদ্ধতিটি lostOwnership(..)
শূন্য। সুতরাং, ২ য় তর্কটি পুরোপুরি alচ্ছিক কলব্যাক বলে মনে হচ্ছে।
(-> (java.awt.Toolkit/getDefaultToolkit) .getSystemClipboard (.setContents (java.awt.datatransfer.StringSelection. "test") nil))
এটি আলংকারিক উপায়ে লিখিত গৃহীত উত্তর:
Toolkit.getDefaultToolkit()
.getSystemClipboard()
.setContents(
new StringSelection(txtMySQLScript.getText()),
null
);
নিম্নলিখিত ক্লাসটি আপনাকে ক্লিপবোর্ড থেকে / স্ট্রিংয়ের অনুলিপি / আটকানোর অনুমতি দেয়।
import java.awt.*;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import static java.awt.event.KeyEvent.*;
import static org.apache.commons.lang3.SystemUtils.IS_OS_MAC;
public class SystemClipboard
{
public static void copy(String text)
{
Clipboard clipboard = getSystemClipboard();
clipboard.setContents(new StringSelection(text), null);
}
public static void paste() throws AWTException
{
Robot robot = new Robot();
int controlKey = IS_OS_MAC ? VK_META : VK_CONTROL;
robot.keyPress(controlKey);
robot.keyPress(VK_V);
robot.keyRelease(controlKey);
robot.keyRelease(VK_V);
}
public static String get() throws Exception
{
Clipboard systemClipboard = getSystemClipboard();
DataFlavor dataFlavor = DataFlavor.stringFlavor;
if (systemClipboard.isDataFlavorAvailable(dataFlavor))
{
Object text = systemClipboard.getData(dataFlavor);
return (String) text;
}
return null;
}
private static Clipboard getSystemClipboard()
{
Toolkit defaultToolkit = Toolkit.getDefaultToolkit();
return defaultToolkit.getSystemClipboard();
}
}
OS X
সঠিকভাবে কাজ না করতে পারলে আরও ভাল সমর্থন করার জন্য একটি সম্পাদনার পরামর্শ দিতে দ্বিধা বোধ করুন
VK_CONTROL
জন্য VK_META
যদি এটা MacOS আছে।
আমি এটি করার আরও ভাল উপায় খুঁজে পেয়েছি যাতে আপনি কোনও টেক্সটবক্স থেকে ইনপুট পেতে পারেন বা সেই পাঠ্য বাক্সে কিছু উত্পন্ন হতে পারে এবং এটি করতে একটি বোতামে ক্লিক করতে সক্ষম হোন!
import java.awt.datatransfer.*;
import java.awt.Toolkit;
private void /* Action performed when the copy to clipboard button is clicked */ {
String ctc = txtCommand.getText().toString();
StringSelection stringSelection = new StringSelection(ctc);
Clipboard clpbrd = Toolkit.getDefaultToolkit().getSystemClipboard();
clpbrd.setContents(stringSelection, null);
}
// txtCommand is the variable of a text box
জন্য JavaFX ভিত্তিক অ্যাপ্লিকেশন।
//returns System Clipboard
final Clipboard clipboard = Clipboard.getSystemClipboard();
// ClipboardContent provides flexibility to store data in different formats
final ClipboardContent content = new ClipboardContent();
content.putString("Some text");
content.putHtml("<b>Some</b> text");
//this will be replaced by previous putString
content.putString("Some different text");
//set the content to clipboard
clipboard.setContent(content);
// validate before retrieving it
if(clipboard.hasContent(DataFormat.HTML)){
System.out.println(clipboard.getHtml());
}
if(clipboard.hasString()){
System.out.println(clipboard.getString());
}
ক্লিপবোর্ড কনটেন্ট বিভিন্ন ডেটা ফর্ম্যাটে যেমন (এইচটিএমএল, ইউআরএল, সরল পাঠ্য, চিত্র) একাধিক ডেটা সংরক্ষণ করতে পারে।
আরও তথ্যের জন্য দেখুন সরকারী ডকুমেন্টেশন