Javaプログラミング/Javaプログラミング関連情報

クリップボードによるイメージの受け渡し(3ページ目)

グラフィック・イメージをクリップボード経由で受け渡すには、少々複雑です。イメージ受け渡し用のTransferableクラスを定義しないといけません。

執筆者:掌田 津耶乃

カット&ペースト可能な簡易グラフィックツール


では、実際にこれらのメソッドを実装して、簡単なプログラムを作成してみましょう。ここでは、イメージのカット&ペーストをもった、超簡易グラフィックツールを作成してみました。

package jp.allabout;

import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.swing.*;

public class SampleApp extends JFrame {
  private GPanel panel;
  
  public SampleApp(){
    this.setSize(300, 300);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    panel = new GPanel();
    this.add(panel,BorderLayout.CENTER);
    this.createMenuBar();
  }
  
  private void createMenuBar(){
    JMenuBar bar = new JMenuBar();
    JMenu menu1 = new JMenu("File");
    JMenuItem quititem = new JMenuItem("Quit");
    quititem.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){
        System.exit(0);
      }
    });
    menu1.add(quititem);
    bar.add(menu1);
    JMenu menu2 = new JMenu("Edit");
    JMenuItem cutitem = new JMenuItem("Cut");
    cutitem.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){
        panel.cut();
      }
    });
    JMenuItem copyitem = new JMenuItem("Copy");
    copyitem.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){
        panel.copy();
      }
    });
    JMenuItem pasteitem = new JMenuItem("Paste");
    pasteitem.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){
        panel.paste();
      }
    });
    menu2.add(cutitem);
    menu2.add(copyitem);
    menu2.add(pasteitem);
    bar.add(menu2);
    this.setJMenuBar(bar);
  }
  
  public static void main(String[] args) {
    new SampleApp().setVisible(true);
  }
}
  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます