📄 dummyagentgui.java
字号:
int returnVal = chooser.showOpenDialog(null);
if(returnVal == JFileChooser.APPROVE_OPTION)
{
// Flush current queue
for (int i = 0;i < queuedMsgListModel.getSize(); ++i)
{
queuedMsgListModel.removeElementAt(i);
}
currentDir = chooser.getCurrentDirectory();
String fileName = chooser.getSelectedFile().getAbsolutePath();
try
{
BufferedReader inp = new BufferedReader(new FileReader(fileName));
// Read the number of messages in the queue
int n = -1;
try
{
Integer nn = new Integer(inp.readLine());
n = nn.intValue();
}
catch(IOException ioEx) {
if(logger.isLoggable(Logger.WARNING))
logger.log(Logger.WARNING,"IO Exception reading the number of messages in the queue"); }
// Read the messages and insert them in the queue
MsgIndication mi;
for (int i = 0;i < n; ++i)
{
mi = MsgIndication.fromText(inp);
queuedMsgListModel.add(i, (Object) mi);
}
}
catch(FileNotFoundException e5) {
if(logger.isLoggable(Logger.WARNING))
logger.log(Logger.WARNING,"Can't open file: " + fileName); }
catch(IOException e6) {
if(logger.isLoggable(Logger.WARNING))
logger.log(Logger.WARNING,"IO Exception"); }
}
}
};
item.addActionListener (openQAction);
item.setIcon(openQImg);
queuedMsgMenu.add (item = new JMenuItem ("Save queue"));
Action saveQAction = new AbstractAction("Save queue", saveQImg){
public void actionPerformed(ActionEvent e)
{
JFileChooser chooser = new JFileChooser();
if (currentDir != null)
chooser.setCurrentDirectory(currentDir);
int returnVal = chooser.showSaveDialog(null);
if(returnVal == JFileChooser.APPROVE_OPTION)
{
currentDir = chooser.getCurrentDirectory();
String fileName = chooser.getSelectedFile().getAbsolutePath();
try
{
BufferedWriter out = new BufferedWriter(new FileWriter(fileName));
// Write the number of messages in the queue
try
{
out.write(String.valueOf(queuedMsgListModel.getSize()));
out.newLine();
}
catch(IOException ioEx) {
if(logger.isLoggable(Logger.WARNING))
logger.log(Logger.WARNING,"IO Exception writing the number of messages in the queue"); }
// Write the messages
MsgIndication mi;
for (int i = 0;i < queuedMsgListModel.getSize(); ++i)
{
mi = (MsgIndication) queuedMsgListModel.get(i);
mi.toText(out);
}
}
catch(FileNotFoundException e5) {
if(logger.isLoggable(Logger.WARNING))
logger.log(Logger.WARNING,"Can't open file: " + fileName); }
catch(IOException e6) {
if(logger.isLoggable(Logger.WARNING))
logger.log(Logger.WARNING,"IO Exception"); }
}
}
};
item.addActionListener (saveQAction);
item.setIcon(saveQImg);
queuedMsgMenu.add (item = new JMenuItem ("Set as current"));
Action setAction = new AbstractAction("Set as current", setImg){
public void actionPerformed(ActionEvent e)
{
int i = queuedMsgList.getSelectedIndex();
if (i != -1)
{
MsgIndication mi = (MsgIndication) queuedMsgListModel.getElementAt(i);
ACLMessage m = mi.getMessage();
currentMsgGui.setMsg(m);
}
}
};
item.addActionListener (setAction);
item.setIcon(setImg);
queuedMsgMenu.add (item = new JMenuItem ("Reply"));
Action replyAction = new AbstractAction("Reply", replyImg){
public void actionPerformed(ActionEvent e)
{
int i = queuedMsgList.getSelectedIndex();
if (i != -1)
{
MsgIndication mi = (MsgIndication) queuedMsgListModel.getElementAt(i);
ACLMessage m = mi.getMessage();
ACLMessage reply = m.createReply();
reply.setEnvelope(new jade.domain.FIPAAgentManagement.Envelope());
//reply.setSender(myAgent.getAID());
//currentMsgGui.setMsg(m.createReply());
currentMsgGui.setMsg(reply);
}
}
};
item.addActionListener (replyAction);
item.setIcon(replyImg);
queuedMsgMenu.add (item = new JMenuItem ("View"));
Action viewAction = new AbstractAction("View", viewImg){
public void actionPerformed(ActionEvent e)
{
int i = queuedMsgList.getSelectedIndex();
if (i != -1)
{
MsgIndication mi = (MsgIndication) queuedMsgListModel.getElementAt(i);
ACLMessage m = mi.getMessage();
AclGui.showMsgInDialog(m, thisGUI);
}
}
};
item.addActionListener (viewAction);
item.setIcon(viewImg);
queuedMsgMenu.add (item = new JMenuItem ("Delete"));
Action deleteAction = new AbstractAction("Delete", deleteImg){
public void actionPerformed(ActionEvent e)
{
int i = queuedMsgList.getSelectedIndex();
if (i != -1)
{
queuedMsgListModel.removeElementAt(i);
}
}
};
item.addActionListener (deleteAction);
item.setIcon(deleteImg);
jmb.add (queuedMsgMenu);
setJMenuBar(jmb);
/////////////////////////////////////////////////////
// Add Toolbar to the NORTH part of the border layout
JToolBar bar = new JToolBar();
JButton resetB = new JButton();
//resetB.setText("Reset");
resetB.setText("");
resetB.setIcon(resetImg);
resetB.setToolTipText("New the current ACL message");
resetB.addActionListener(currentMessageAction);
bar.add(resetB);
JButton sendB = new JButton();
sendB.setText("");
sendB.setIcon(sendImg);
sendB.setToolTipText("Send the current ACL message");
sendB.addActionListener(sendAction);
bar.add(sendB);
JButton openB = new JButton();
openB.setText("");
openB.setIcon(openImg);
openB.setToolTipText("Read the current ACL message from file");
openB.addActionListener(openAction);
bar.add(openB);
JButton saveB = new JButton();
saveB.setText("");
saveB.setIcon(saveImg);
saveB.setToolTipText("Save the current ACL message to file");
saveB.addActionListener(saveAction);
bar.add(saveB);
bar.addSeparator(new Dimension(50,30));
JButton openQB = new JButton();
openQB.setText("");
openQB.setIcon(openQImg);
openQB.setToolTipText("Read the queue of sent/received messages from file");
openQB.addActionListener(openQAction);
bar.add(openQB);
JButton saveQB = new JButton();
saveQB.setText("");
saveQB.setIcon(saveQImg);
saveQB.setToolTipText("Save the queue of sent/received messages to file");
saveQB.addActionListener(saveQAction);
bar.add(saveQB);
bar.addSeparator();
JButton setB = new JButton();
setB.setText("");
setB.setIcon(setImg);
setB.setToolTipText("Set the selected ACL message to be the current message");
setB.addActionListener(setAction);
bar.add(setB);
JButton replyB = new JButton();
replyB.setText("");
replyB.setIcon(replyImg);
replyB.setToolTipText("Prepare a message to reply to the selected message");
replyB.addActionListener(replyAction);
bar.add(replyB);
bar.addSeparator();
JButton viewB = new JButton();
viewB.setText("");
viewB.setIcon(viewImg);
viewB.setToolTipText("View the selected ACL message");
viewB.addActionListener(viewAction);
bar.add(viewB);
JButton deleteB = new JButton();
deleteB.setText("");
deleteB.setIcon(deleteImg);
deleteB.setToolTipText("Delete the selected ACL message");
deleteB.addActionListener(deleteAction);
bar.add(deleteB);
bar.add(Box.createHorizontalGlue());
JadeLogoButton logo = new JadeLogoButton();
bar.add(logo);
getContentPane().add("North", bar);
}
void showCorrect()
{
///////////////////////////////////////////
// Arrange and display GUI window correctly
pack();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int centerX = (int)screenSize.getWidth() / 2;
int centerY = (int)screenSize.getHeight() / 2;
setLocation(centerX - getWidth() / 2, centerY - getHeight() / 2);
show();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -