⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dummyagentgui.java

📁 JADE(JAVA Agent开发框架)是一个完全由JAVA语言开发的软件,它简化了多Agent系统的实现。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			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 + -