package gui.ex04_independentGUI;
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuBar;
import javax.swing.JPanel;
import gui.ex03_customPanel.CustomPanel;
import madkit.gui.OutputPanel;
import madkit.gui.menu.AgentLogLevelMenu;
import madkit.gui.menu.AgentMenu;
import madkit.kernel.Agent;
import madkit.kernel.Madkit;
public class IndependentGUI extends Agent {
private JFrame myFrame;
@Override
protected void activate() {
myFrame = new JFrame("My own title");
JPanel p = new JPanel(new BorderLayout());
JPanel talkPanel = new OutputPanel(this);
talkPanel.setBackground(Color.LIGHT_GRAY);
p.add(talkPanel, BorderLayout.CENTER);
p.add(new JLabel(new ImageIcon(CustomPanel.class.getResource("agent.png"))), BorderLayout.NORTH);
myFrame.add(p);
JMenuBar menuBar = new JMenuBar();
menuBar.add(new AgentMenu(this));
menuBar.add(new AgentLogLevelMenu(this));
myFrame.setJMenuBar(menuBar);
myFrame.setSize(400, 500);
myFrame.setLocationRelativeTo(null);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setVisible(true);
}
@Override
protected void live() {
getLogger().info("\n\tI have defined my own frame,\n\twith some predefined menus, though");
pause(5000);
}
@Override
protected void end() {
myFrame.dispose();
System.exit(0);
}
public static void main(String[] argss) {
String[] args = { "--launchAgents", IndependentGUI.class.getName() };
Madkit.main(args);
}
}