自己在jtextarea的keypress事件中写代码吧

解决方案 »

  1.   

    我用jbuilder给你做了一个例子,命名多少不太符合java语言规范!不过你可以看看:
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;public class test7 extends JFrame {
        private static boolean dd = false;
        private JTextArea jTextArea1 = new JTextArea();
        private JPopupMenu jPopupMenu1 = new JPopupMenu();
        private JMenuItem jMenuItem1 = new JMenuItem();
        private JMenuItem jMenuItem2 = new JMenuItem();
        private JMenuItem jMenuItem3 = new JMenuItem();
        public test7() {
            try {
                jbInit();
            }
            catch(Exception e) {
                e.printStackTrace();
            }
        }
        public static void main(String[] args) {
            test7 test71 = new test7();
            test71.setSize(400,300);
            test71.setVisible(true);
            test71.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
        private void jbInit() throws Exception {
            jTextArea1.setText("jTextArea1");
            jTextArea1.setBounds(new Rectangle(59, 68, 280, 139));
            jTextArea1.addMouseListener(new java.awt.event.MouseAdapter() {
                public void mouseClicked(MouseEvent e) {
                    jTextArea1_mouseClicked(e);
                }
            });
            jMenuItem1.setText("this one");
            jMenuItem2.setText("this two");
            jMenuItem3.setText("this three");
            this.getContentPane().add(jTextArea1, null);
            jPopupMenu1.add(jMenuItem1);
            jPopupMenu1.add(jMenuItem2);
            jPopupMenu1.add(jMenuItem3);
        }    void jTextArea1_mouseClicked(MouseEvent e) {
            if(SwingUtilities.isRightMouseButton(e)){
                jPopupMenu1.show(this,e.getX(),e.getY());
                System.out.println("ddddddd");
            }
        }
    }
      

  2.   

    swing container中有个popupmenu的把它拖到你的Jframe上,然后要自己写代码来实现。
    就像楼上讲的,先添加监听jTextArea1.addMouseListener,
    然后写事件,
    void jTextArea1_mouseClicked(MouseEvent e) {
    ....
    }最后,
    应该可以了。