package cloudTrading.seller; |
import jade.gui.TimeChooser; |
import java.awt.; |
import java.awt.event.; |
import javax.swing.; |
import javax.swing.border.; |
import java.util.Date; |
public class CloudSellerGuiImpl extends JFrame implements CloudSellerGui |
|
public void setAgent(CloudSellerAgent a) |
myAgent = a; |
setTitle(myAgent.getName()); |
public CloudSellerGuiImpl() |
super(); |
addWindowListener(new WindowAdapter() |
public void windowClosing(WindowEvent e) |
myAgent.doDelete(); ); |
public void actionPerformed(ActionEvent e) |
Date d = deadline; |
if (d == null) |
d = new Date(); |
TimeChooser tc = new TimeChooser(d); |
if (tc.showEditTimeDlg(CloudSellerGuiImpl.this) == TimeChooser.OK) |
deadline = tc.getDate(); |
deadlineTF.setText(deadline.toString()); ); |
gridBagConstraints = new GridBagConstraints(); |
gridBagConstraints.gridx = 3; |
gridBagConstraints.gridy = 2; |
gridBagConstraints.anchor = GridBagConstraints.NORTHWEST; |
gridBagConstraints.insets = new Insets(5, 3, 0, 3); |
rootPanel.add(setDeadlineB, gridBagConstraints); |
rootPanel.setBorder(new BevelBorder(BevelBorder.LOWERED)); |
getContentPane().add(rootPanel, BorderLayout.NORTH); |
logTA = new JTextArea(); |
logTA.setEnabled(false); |
JScrollPane jsp = new JScrollPane(logTA); |
jsp.setMinimumSize(new Dimension(300, 180)); |
jsp.setPreferredSize(new Dimension(300, 180)); |
JPanel p = new JPanel(); |
p.setBorder(new BevelBorder(BevelBorder.LOWERED)); |
p.add(jsp); |
getContentPane().add(p, BorderLayout.CENTER); |
p = new JPanel(); |
sellB = new JButton("Sell"); |
sellB.addActionListener(new ActionListener() |
public void actionPerformed(ActionEvent e) |
String title = titleTF.getText(); |
float desiredPrice = -1; |
float minPrice = -1; |
if (title != null && title.length() > 0) |
if (deadline != null && deadline.getTime() > System.currentTimeMillis()) |
desiredPrice = Float.parseFloat(desiredPriceTF.getText()); |
minPrice = Float.parseFloat(minPriceTF.getText()); |
if (minPrice <= desiredPrice) |
myAgent.putForSale(title, desiredPrice, minPrice, deadline); |
notifyUser("PUT FOR SALE: "+title+" between "+desiredPrice+" and "+minPrice+" by "+deadline); |
else |
JOptionPane.showMessageDialog(CloudSellerGuiImpl.this, "Min price must be cheaper than best price", "WARNING", |
JOptionPane.WARNING_MESSAGE); |
else |
JOptionPane.showMessageDialog(CloudSellerGuiImpl.this, "Invalid deadline", "WARNING", |
JOptionPane.WARNING_MESSAGE); |
else |
JOptionPane.showMessageDialog(CloudSellerGuiImpl.this, "No cloud title specified", "WARNING", |
JOptionPane.WARNING_MESSAGE); ); |
resetB = new JButton("Reset"); |
resetB.addActionListener(new ActionListener() |
public void actionPerformed(ActionEvent e) |
titleTF.setText(""); |
desiredPriceTF.setText(""); |
minPriceTF.setText(""); |
deadlineTF.setText(""); |
deadline = null; ); |
exitB = new JButton("Exit"); |
exitB.addActionListener(new ActionListener() |
public void actionPerformed(ActionEvent e) |
myAgent.doDelete(); ); |
sellB.setPreferredSize(resetB.getPreferredSize()); |
exitB.setPreferredSize(resetB.getPreferredSize()); |
p.setBorder(new BevelBorder(BevelBorder.LOWERED)); |
getContentPane().add(p, BorderLayout.SOUTH); |
setResizable(false); |
|
public void notifyUser(String message) |
logTA.append(message+"∖n"); |
|