猿问

java窗体菜单监视器问题

我想实现的功能是 鼠标右击会出现《复制》《粘贴》,然后左上角菜单点击可以实现出 打开一个文本文件。

最终实现的是可以对比两段源程序的相似度



import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.InputEvent;

import java.awt.event.MouseEvent;

import java.io.BufferedReader;

import java.io.FileReader;

import java.io.IOException;

import javax.swing.*;

import java.util.*;

public class text2 {

public static void main(String args[])

{

new WindowFlow("程序相似度");

}

}

class WindowFlow extends JFrame{

JTextField field1,field2;

JTextArea text1,text2;

JButton controlButton;                       //按钮

JMenuBar menubar;

JMenu menu;

JLabel one,two;

JPopupMenu menu1;

FileDialog  op;

JMenuItem copy,cut,paste;

WindowFlow(String s){

setTitle(s);

setBounds(200,200,730,460);

setVisible(true);

menu1=new JPopupMenu();

copy=new JMenuItem("复制");

cut=new JMenuItem("剪切");

paste=new JMenuItem("粘贴");

field1=new JTextField(6);

field2=new JTextField(6);

text1=new JTextArea(12,22);                                //文本区1

text2=new JTextArea(12,22);                                //文本区2

menubar=new JMenuBar();                               //菜单条

menu=new JMenu("打开文件");                            //菜单

controlButton=new JButton("计算");               //按钮

JPanel panel=new JPanel();                      //中间容器

final TextField txtField = new TextField(50);

panel.add(text1);

panel.add(text2);

panel.add(field1);

op = new FileDialog(this, "打开文件", FileDialog.LOAD);     //新建对话框   

panel.add(controlButton);

menu.addActionListener(this);                    //设置按钮点击监听事件  

panel.add(field2);

menubar.add(menu);                                     //菜单添加到菜单条

setJMenuBar(menubar); 

menu1.add(copy);

menu1.add(cut);

menu1.add(paste);

add(panel,BorderLayout.CENTER);

add(new JScrollPane(text1),BorderLayout.WEST);

add(new JScrollPane(text2),BorderLayout.EAST);

validate();

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public void actionPerformed(ActionEvent e){

if(e.getSource()==copy)

text1.copy();

else if(e.getSource()==cut)

text1.cut();

else if(e.getSource()==paste)

text1.paste();

else if(e.getSource()==menu){

String str;

op.setVisible(true);

try{

File f1=new File(op.getDirectory(),op.getFile());

FileReader fr=new FileReader(f1);

BufferedReader br=new BufferedReader(fr);

text1.setText("");

while((str=br.readLine())!=null)

text1.append(str+'\n');

fr.close();

}

catch (Exception e1){

e1.printStackTrace();

}

}

}

}



Acap
浏览 2595回答 1
1回答

it小贱

怎么这么多问awt方面的呢?
随时随地看视频慕课网APP
我要回答