Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从JTextArea获取文本的单个MouseListener事件_Java_Swing_Jtextarea_Mouselistener_Mouse Listeners - Fatal编程技术网

Java 从JTextArea获取文本的单个MouseListener事件

Java 从JTextArea获取文本的单个MouseListener事件,java,swing,jtextarea,mouselistener,mouse-listeners,Java,Swing,Jtextarea,Mouselistener,Mouse Listeners,我正在创建一个足球抽签应用程序。我目前有9个文本区域,包含6个不同的团队。我在每个文本区域都附加了一个MouseListener。当你点击文本区域时,你会看到一个新窗口,每个团队被分成一组 我在尝试从文本区域获取文本时遇到问题。我可以通过在每个单独的文本区域添加一个MouseListener来实现这一点,但就我所知,这违反了请勿重复自己(DRY)的原则 我已将我的代码包括在下面: gui.getTable1().addMouseListener(new tableListener()); gui

我正在创建一个足球抽签应用程序。我目前有9个文本区域,包含6个不同的团队。我在每个文本区域都附加了一个
MouseListener
。当你点击文本区域时,你会看到一个新窗口,每个团队被分成一组

我在尝试从文本区域获取文本时遇到问题。我可以通过在每个单独的文本区域添加一个
MouseListener
来实现这一点,但就我所知,这违反了请勿重复自己(DRY)的原则

我已将我的代码包括在下面:

gui.getTable1().addMouseListener(new tableListener());
gui.getTable2().addMouseListener(new tableListener());
gui.getTable3().addMouseListener(new tableListener());
gui.getTable4().addMouseListener(new tableListener());
gui.getTable5().addMouseListener(new tableListener());
gui.getTable6().addMouseListener(new tableListener());
gui.getTable7().addMouseListener(new tableListener());
gui.getTable8().addMouseListener(new tableListener());
gui.getTable9().addMouseListener(new tableListener());


public static class TableListener implements MouseListener {

    @Override
    public void mouseClicked(MouseEvent e) {
        // TODO Auto-generated method stub
    }

    @Override
    public void mouseEntered(MouseEvent e) {
        // TODO Auto-generated method stub
    }

    @Override
    public void mouseExited(MouseEvent e) {
        // TODO Auto-generated method stub
    }

    @Override
    public void mousePressed(MouseEvent e) {
        // TODO Auto-generated method stub
        //get text from text area and pass to new GUI
    }

    @Override
    public void mouseReleased(MouseEvent e) {
        // TODO Auto-generated method stub
    }
}

我想对我的所有文本区域使用
TableListener
私有类,而不是9个不同的
mouseListener
。我认为这可以在一条线上完成,但我不知道怎么做。有人能帮忙吗?

只需将一个监听程序安装到所有文本区域,并使用e.getSource()获取事件源文本区域。

1+表示干燥原则。请注意,我已更正了您的类名称以满足Java代码约定:类名称以大写字母开头。