📄 gui.py
字号:
#!/usr/bin/env jpythonimport javaimport javaximport jacommaimport sysfrom java.awt import BorderLayout, GridLayoutfrom jacomma.icm.type import Handle, Symbolfrom jacomma.platform.core import Agent, AgentManager, \ MessagePattern, AgentObserverAdapterfrom javax.swing import *class my_action_listener( java.awt.event.ActionListener ): def __init__( self, tgtbox, msgbox, agent ): self.tgtbox_ = tgtbox self.msgbox_ = msgbox self.agent_ = agent def actionPerformed( self, evt ): self.agent_.send( Handle.createHandle( self.tgtbox_.getText() ), \ self.msgbox_.getText() )class my_window_listener( java.awt.event.WindowAdapter ): def windowClosing( self, evt ): jacomma.platform.core.AgentManager.instance.stopEngine()# make a framedef make_gui( agent ): f = JFrame( agent.getHandle().toString() ) f.addWindowListener( my_window_listener( ) ) tp = JPanel( GridLayout( 2, 2 ) ) tp.add( JLabel( "Target: " ) ) tgtbox = JTextField( 20 ) tp.add( tgtbox ) tp.add( JLabel( "Message: " ) ) msgbox = JTextField( 20 ) tp.add( msgbox ) tp.setBorder( BorderFactory.createEtchedBorder() ) p = JPanel( BorderLayout() ) p.add( tp, BorderLayout.CENTER ) b = JButton( "Send!" ) b.addActionListener( my_action_listener( agent, tgtbox, msgbox ) ) p.add( b, BorderLayout.SOUTH ) f.getContentPane().add( p ) return fag = AgentManager.instance.createAgent( sys.argv[1], AgentObserverAdapter() )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -