如何将GUI事件重定向到system.in或System.out到GUI组件?

时间:2016-07-11 07:13:41

标签: java user-interface cmd

我创建了一个简单的命令行界面服务器应用程序,它可以读取/usr/bin/zip以便运行。它接受简单的命令:

public void mcKalendar_DateChanged() { frmNovoVozilo fNv = new frmNovoVozilo(); fNv.txtDatKupovine.Text = mcKalendar.SelectionRange.Start.ToShortDateString(); } private void btnDatum_Click(object sender, EventArgs e) { frmKalendar fKalen = new frmKalendar(); fKalen.StartPosition = FormStartPosition.CenterScreen; fKalen.Show(); } 启动ServerSocket并侦听客户端连接。

System.in,向服务器正在关闭的所有客户端广播,并关闭ServerSocket。

START。查看哪个用户在线。

效果很好。 然后,它需要它的GUI界面。

假设我有STOP类与ONLINEUSERS启动服务器进程(但仍然空闲,因为尚未输入Server命令)和普通main()使用开始按钮(START)和日志文本区域(ServerGUI)。

为了最小化耦合,是否可以设计一个程序:首先,使用JButton启动服务器;第二,启动ServerGUI;然后,当单击ServerGUI中的开始按钮时,它会自动向进程发送JTextArea命令并启动服务器?

有没有办法实现这个?

1 个答案:

答案 0 :(得分:0)

好像你的问题是试图找到一种方法将数据传输到System对象,以便System.in的监视器能够获取它。可能有办法做到这一点,但我不会这样做。

相反,我会使用您的STart按钮注册一个事件处理程序,并在服务器类上调用该方法。

以下内容可行。

startButton = new javax.swing.JButton();
startButton.addMouseListener(new java.awt.event.MouseAdapter() {
     public void mouseClicked(java.awt.event.MouseEvent evt) {
         Server.startSocketAndListen();
     }
});