Commit 1c772183 authored by Rikysamuel's avatar Rikysamuel
Browse files

trade box

parent fa4e26e6
......@@ -11,11 +11,11 @@
<file>file:/E:/OneDrive/Data%20Semester%206/Sistem%20Terdistribusi/GrandQuest/src/client/src/Request/Request.java</file>
<file>file:/E:/OneDrive/Data%20Semester%206/Sistem%20Terdistribusi/GrandQuest/src/client/src/GUI/MapPanel.java</file>
<file>file:/E:/OneDrive/Data%20Semester%206/Sistem%20Terdistribusi/GrandQuest/src/client/src/GUI/MainFrame.java</file>
<file>file:/E:/OneDrive/Data%20Semester%206/Sistem%20Terdistribusi/GrandQuest/src/client/src/GUI/AcceptPanel.java</file>
<file>file:/E:/OneDrive/Data%20Semester%206/Sistem%20Terdistribusi/GrandQuest/src/client/src/GUI/InventoryPanel.java</file>
<file>file:/E:/OneDrive/Data%20Semester%206/Sistem%20Terdistribusi/GrandQuest/src/client/src/HelperClasses/Server.java</file>
<file>file:/E:/OneDrive/Data%20Semester%206/Sistem%20Terdistribusi/GrandQuest/src/client/src/HelperClasses/ButtonColumn.java</file>
<file>file:/E:/OneDrive/Data%20Semester%206/Sistem%20Terdistribusi/GrandQuest/src/client/src/GUI/OfferingPanel.java</file>
<file>file:/E:/OneDrive/Data%20Semester%206/Sistem%20Terdistribusi/GrandQuest/src/client/src/HelperClasses/KeyValuePair.java</file>
<file>file:/E:/OneDrive/Data%20Semester%206/Sistem%20Terdistribusi/GrandQuest/src/client/src/GUI/MixedItem.java</file>
</group>
</open-files>
</project-private>
......@@ -26,7 +26,7 @@ public class LoginPanel extends javax.swing.JPanel {
GrandQuest.host = "localhost";
GrandQuest.port = 8080;
// GrandQuest.host = "167.205.32.46";
// GrandQuest.port = 8026;
// GrandQuest.port = 8025;
// GrandQuest.host = "167.205.88.51";
// GrandQuest.port = 6789;
gq = new GrandQuest();
......
......@@ -486,8 +486,26 @@ public class MapPanel extends javax.swing.JPanel {
}//GEN-LAST:event_jButton4ActionPerformed
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed
GrandQuest.savedPane = this;
gq.retTrade();
if(Request.connectToServer(GrandQuest.host,GrandQuest.port)){
String sentence = Request.tradeBox(GrandQuest.token).toString();
Request.responseHandler(Request.send(sentence));
}
if (Request.serverResponse!=null){
String res = Request.findInResponses("status");
switch(res){
case "ok" :
GrandQuest.offers = Request.findInResponses("offers");
System.out.println(GrandQuest.offers);
break;
default :
JOptionPane.showMessageDialog(null, "Error!", "Error", JOptionPane.ERROR_MESSAGE);
break;
}
GrandQuest.savedPane = this;
gq.retTrade();
}
}//GEN-LAST:event_jButton3ActionPerformed
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
......@@ -528,6 +546,7 @@ public class MapPanel extends javax.swing.JPanel {
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton6ActionPerformed
int ret = JOptionPane.showConfirmDialog(null, "Are you sure want to quit to the main menu?","Confirmation",JOptionPane.YES_NO_OPTION);
if (ret==0){
Request.closeConnection();
t.stop();
gq.retLogIn();
}
......
......@@ -22,86 +22,91 @@
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" attributes="0">
<EmptySpace min="20" pref="20" max="-2" attributes="0"/>
<Component id="Item0" min="-2" max="-2" attributes="0"/>
<EmptySpace min="9" pref="9" max="-2" attributes="0"/>
<Component id="Item1" min="-2" max="-2" attributes="0"/>
<EmptySpace min="19" pref="19" max="-2" attributes="0"/>
<Component id="Item2" min="-2" max="-2" attributes="0"/>
<EmptySpace min="19" pref="19" max="-2" attributes="0"/>
<Component id="Item3" min="-2" max="-2" attributes="0"/>
<EmptySpace min="19" pref="19" max="-2" attributes="0"/>
<Component id="Item4" min="-2" max="-2" attributes="0"/>
</Group>
<Group type="102" attributes="0">
<EmptySpace min="20" pref="20" max="-2" attributes="0"/>
<Component id="honeyLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="82" pref="82" max="-2" attributes="0"/>
<Component id="HoneyCount" min="-2" pref="17" max="-2" attributes="0"/>
<EmptySpace min="10" pref="10" max="-2" attributes="0"/>
<Component id="herbsLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="82" pref="82" max="-2" attributes="0"/>
<Component id="HerbsCount" min="-2" pref="17" max="-2" attributes="0"/>
<EmptySpace min="33" pref="33" max="-2" attributes="0"/>
<Component id="clayLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="79" pref="79" max="-2" attributes="0"/>
<Component id="ClayCount" min="-2" pref="17" max="-2" attributes="0"/>
<EmptySpace min="23" pref="23" max="-2" attributes="0"/>
<Component id="mineralLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="76" pref="76" max="-2" attributes="0"/>
<Component id="MineralCount" min="-2" pref="17" max="-2" attributes="0"/>
<EmptySpace min="23" pref="23" max="-2" attributes="0"/>
<Component id="potionLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="80" pref="80" max="-2" attributes="0"/>
<Component id="PotionCount" min="-2" pref="17" max="-2" attributes="0"/>
</Group>
<Group type="102" attributes="0">
<EmptySpace min="20" pref="20" max="-2" attributes="0"/>
<Component id="Item5" min="-2" max="-2" attributes="0"/>
<EmptySpace min="9" pref="9" max="-2" attributes="0"/>
<Component id="Item6" min="-2" max="-2" attributes="0"/>
<EmptySpace min="19" pref="19" max="-2" attributes="0"/>
<Component id="Item7" min="-2" max="-2" attributes="0"/>
<EmptySpace min="19" pref="19" max="-2" attributes="0"/>
<Component id="Item8" min="-2" max="-2" attributes="0"/>
<EmptySpace min="19" pref="19" max="-2" attributes="0"/>
<Component id="Item9" min="-2" max="-2" attributes="0"/>
</Group>
<Group type="102" attributes="0">
<EmptySpace min="20" pref="20" max="-2" attributes="0"/>
<Component id="incenceLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="72" pref="72" max="-2" attributes="0"/>
<Component id="IncenseCount" min="-2" pref="17" max="-2" attributes="0"/>
<EmptySpace min="13" pref="13" max="-2" attributes="0"/>
<Component id="gemsLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="84" pref="84" max="-2" attributes="0"/>
<Component id="GemsCount" min="-2" pref="17" max="-2" attributes="0"/>
<EmptySpace min="23" pref="23" max="-2" attributes="0"/>
<Component id="lifeElixirLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="68" pref="68" max="-2" attributes="0"/>
<Component id="LifeElixirCount" min="-2" pref="17" max="-2" attributes="0"/>
<EmptySpace min="23" pref="23" max="-2" attributes="0"/>
<Component id="manaCrystalLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="57" pref="57" max="-2" attributes="0"/>
<Component id="ManaCrystalCount" min="-2" pref="17" max="-2" attributes="0"/>
<EmptySpace min="13" pref="13" max="-2" attributes="0"/>
<Component id="philosopherStoneLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="24" pref="24" max="-2" attributes="0"/>
<Component id="PilospherCount" min="-2" pref="17" max="-2" attributes="0"/>
</Group>
<Group type="102" attributes="0">
<EmptySpace min="130" pref="130" max="-2" attributes="0"/>
<Component id="FirstItem" min="-2" pref="130" max="-2" attributes="0"/>
<EmptySpace min="30" pref="30" max="-2" attributes="0"/>
<Component id="jLabel11" min="-2" max="-2" attributes="0"/>
<EmptySpace min="45" pref="45" max="-2" attributes="0"/>
<Component id="SecondItem" min="-2" pref="130" max="-2" attributes="0"/>
<EmptySpace min="130" pref="130" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="jButton1" min="-2" pref="100" max="-2" attributes="0"/>
<Component id="jButton3" min="-2" pref="100" max="-2" attributes="0"/>
<Component id="jButton2" min="-2" pref="100" max="-2" attributes="0"/>
<Group type="102" attributes="0">
<EmptySpace min="20" pref="20" max="-2" attributes="0"/>
<Component id="Item0" min="-2" max="-2" attributes="0"/>
<EmptySpace min="9" pref="9" max="-2" attributes="0"/>
<Component id="Item1" min="-2" max="-2" attributes="0"/>
<EmptySpace min="19" pref="19" max="-2" attributes="0"/>
<Component id="Item2" min="-2" max="-2" attributes="0"/>
<EmptySpace min="19" pref="19" max="-2" attributes="0"/>
<Component id="Item3" min="-2" max="-2" attributes="0"/>
<EmptySpace min="19" pref="19" max="-2" attributes="0"/>
<Component id="Item4" min="-2" max="-2" attributes="0"/>
</Group>
<Group type="102" attributes="0">
<EmptySpace min="20" pref="20" max="-2" attributes="0"/>
<Component id="honeyLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="82" pref="82" max="-2" attributes="0"/>
<Component id="HoneyCount" min="-2" pref="17" max="-2" attributes="0"/>
<EmptySpace min="10" pref="10" max="-2" attributes="0"/>
<Component id="herbsLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="82" pref="82" max="-2" attributes="0"/>
<Component id="HerbsCount" min="-2" pref="17" max="-2" attributes="0"/>
<EmptySpace min="33" pref="33" max="-2" attributes="0"/>
<Component id="clayLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="79" pref="79" max="-2" attributes="0"/>
<Component id="ClayCount" min="-2" pref="17" max="-2" attributes="0"/>
<EmptySpace min="23" pref="23" max="-2" attributes="0"/>
<Component id="mineralLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="76" pref="76" max="-2" attributes="0"/>
<Component id="MineralCount" min="-2" pref="17" max="-2" attributes="0"/>
<EmptySpace min="23" pref="23" max="-2" attributes="0"/>
<Component id="potionLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="80" pref="80" max="-2" attributes="0"/>
<Component id="PotionCount" min="-2" pref="17" max="-2" attributes="0"/>
</Group>
<Group type="102" attributes="0">
<EmptySpace min="20" pref="20" max="-2" attributes="0"/>
<Component id="Item5" min="-2" max="-2" attributes="0"/>
<EmptySpace min="9" pref="9" max="-2" attributes="0"/>
<Component id="Item6" min="-2" max="-2" attributes="0"/>
<EmptySpace min="19" pref="19" max="-2" attributes="0"/>
<Component id="Item7" min="-2" max="-2" attributes="0"/>
<EmptySpace min="19" pref="19" max="-2" attributes="0"/>
<Component id="Item8" min="-2" max="-2" attributes="0"/>
<EmptySpace min="19" pref="19" max="-2" attributes="0"/>
<Component id="Item9" min="-2" max="-2" attributes="0"/>
</Group>
<Group type="102" attributes="0">
<EmptySpace min="20" pref="20" max="-2" attributes="0"/>
<Component id="incenceLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="72" pref="72" max="-2" attributes="0"/>
<Component id="IncenseCount" min="-2" pref="17" max="-2" attributes="0"/>
<EmptySpace min="13" pref="13" max="-2" attributes="0"/>
<Component id="gemsLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="84" pref="84" max="-2" attributes="0"/>
<Component id="GemsCount" min="-2" pref="17" max="-2" attributes="0"/>
<EmptySpace min="23" pref="23" max="-2" attributes="0"/>
<Component id="lifeElixirLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="68" pref="68" max="-2" attributes="0"/>
<Component id="LifeElixirCount" min="-2" pref="17" max="-2" attributes="0"/>
<EmptySpace min="23" pref="23" max="-2" attributes="0"/>
<Component id="manaCrystalLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="57" pref="57" max="-2" attributes="0"/>
<Component id="ManaCrystalCount" min="-2" pref="17" max="-2" attributes="0"/>
<EmptySpace min="13" pref="13" max="-2" attributes="0"/>
<Component id="philosopherStoneLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace min="24" pref="24" max="-2" attributes="0"/>
<Component id="PilospherCount" min="-2" pref="17" max="-2" attributes="0"/>
</Group>
<Group type="102" attributes="0">
<EmptySpace min="130" pref="130" max="-2" attributes="0"/>
<Component id="FirstItem" min="-2" pref="130" max="-2" attributes="0"/>
<EmptySpace min="30" pref="30" max="-2" attributes="0"/>
<Component id="jLabel11" min="-2" max="-2" attributes="0"/>
<EmptySpace min="45" pref="45" max="-2" attributes="0"/>
<Component id="SecondItem" min="-2" pref="130" max="-2" attributes="0"/>
<EmptySpace min="130" pref="130" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="jButton1" min="-2" pref="100" max="-2" attributes="0"/>
<Component id="jButton3" min="-2" pref="100" max="-2" attributes="0"/>
<Component id="jButton2" min="-2" pref="100" max="-2" attributes="0"/>
</Group>
</Group>
</Group>
<EmptySpace pref="16" max="32767" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
......
......@@ -269,81 +269,84 @@ public class MixItemPanel extends javax.swing.JPanel {
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(20, 20, 20)
.addComponent(Item0)
.addGap(9, 9, 9)
.addComponent(Item1)
.addGap(19, 19, 19)
.addComponent(Item2)
.addGap(19, 19, 19)
.addComponent(Item3)
.addGap(19, 19, 19)
.addComponent(Item4))
.addGroup(layout.createSequentialGroup()
.addGap(20, 20, 20)
.addComponent(honeyLabel)
.addGap(82, 82, 82)
.addComponent(HoneyCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(10, 10, 10)
.addComponent(herbsLabel)
.addGap(82, 82, 82)
.addComponent(HerbsCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(33, 33, 33)
.addComponent(clayLabel)
.addGap(79, 79, 79)
.addComponent(ClayCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(23, 23, 23)
.addComponent(mineralLabel)
.addGap(76, 76, 76)
.addComponent(MineralCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(23, 23, 23)
.addComponent(potionLabel)
.addGap(80, 80, 80)
.addComponent(PotionCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(20, 20, 20)
.addComponent(Item5)
.addGap(9, 9, 9)
.addComponent(Item6)
.addGap(19, 19, 19)
.addComponent(Item7)
.addGap(19, 19, 19)
.addComponent(Item8)
.addGap(19, 19, 19)
.addComponent(Item9))
.addGroup(layout.createSequentialGroup()
.addGap(20, 20, 20)
.addComponent(incenceLabel)
.addGap(72, 72, 72)
.addComponent(IncenseCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(13, 13, 13)
.addComponent(gemsLabel)
.addGap(84, 84, 84)
.addComponent(GemsCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(23, 23, 23)
.addComponent(lifeElixirLabel)
.addGap(68, 68, 68)
.addComponent(LifeElixirCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(23, 23, 23)
.addComponent(manaCrystalLabel)
.addGap(57, 57, 57)
.addComponent(ManaCrystalCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(13, 13, 13)
.addComponent(philosopherStoneLabel)
.addGap(24, 24, 24)
.addComponent(PilospherCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(130, 130, 130)
.addComponent(FirstItem, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(30, 30, 30)
.addComponent(jLabel11)
.addGap(45, 45, 45)
.addComponent(SecondItem, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(130, 130, 130)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addGap(20, 20, 20)
.addComponent(Item0)
.addGap(9, 9, 9)
.addComponent(Item1)
.addGap(19, 19, 19)
.addComponent(Item2)
.addGap(19, 19, 19)
.addComponent(Item3)
.addGap(19, 19, 19)
.addComponent(Item4))
.addGroup(layout.createSequentialGroup()
.addGap(20, 20, 20)
.addComponent(honeyLabel)
.addGap(82, 82, 82)
.addComponent(HoneyCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(10, 10, 10)
.addComponent(herbsLabel)
.addGap(82, 82, 82)
.addComponent(HerbsCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(33, 33, 33)
.addComponent(clayLabel)
.addGap(79, 79, 79)
.addComponent(ClayCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(23, 23, 23)
.addComponent(mineralLabel)
.addGap(76, 76, 76)
.addComponent(MineralCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(23, 23, 23)
.addComponent(potionLabel)
.addGap(80, 80, 80)
.addComponent(PotionCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(20, 20, 20)
.addComponent(Item5)
.addGap(9, 9, 9)
.addComponent(Item6)
.addGap(19, 19, 19)
.addComponent(Item7)
.addGap(19, 19, 19)
.addComponent(Item8)
.addGap(19, 19, 19)
.addComponent(Item9))
.addGroup(layout.createSequentialGroup()
.addGap(20, 20, 20)
.addComponent(incenceLabel)
.addGap(72, 72, 72)
.addComponent(IncenseCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(13, 13, 13)
.addComponent(gemsLabel)
.addGap(84, 84, 84)
.addComponent(GemsCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(23, 23, 23)
.addComponent(lifeElixirLabel)
.addGap(68, 68, 68)
.addComponent(LifeElixirCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(23, 23, 23)
.addComponent(manaCrystalLabel)
.addGap(57, 57, 57)
.addComponent(ManaCrystalCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(13, 13, 13)
.addComponent(philosopherStoneLabel)
.addGap(24, 24, 24)
.addComponent(PilospherCount, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(130, 130, 130)
.addComponent(FirstItem, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(30, 30, 30)
.addComponent(jLabel11)
.addGap(45, 45, 45)
.addComponent(SecondItem, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(130, 130, 130)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addContainerGap(16, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
......@@ -404,16 +407,20 @@ public class MixItemPanel extends javax.swing.JPanel {
}// </editor-fold>//GEN-END:initComponents
private void Item9ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_Item9ActionPerformed
if (!FirstItem.getText().equals("")){
FirstItem.setIcon(new ImageIcon(getClass().getResource("/img/stone.png")));
FirstItem.setText("");
firstItem = "Stone";
} else{
if (!SecondItem.getText().equals("")){
SecondItem.setIcon(new ImageIcon(getClass().getResource("/img/stone.png")));
SecondItem.setText("");
secondItem = "Stone";
if (Integer.valueOf(PilospherCount.getText())>2){
if (!FirstItem.getText().equals("")){
FirstItem.setIcon(new ImageIcon(getClass().getResource("/img/stone.png")));
FirstItem.setText("");
firstItem = "Stone";
} else{
if (!SecondItem.getText().equals("")){
SecondItem.setIcon(new ImageIcon(getClass().getResource("/img/stone.png")));
SecondItem.setText("");
secondItem = "Stone";
}
}
} else{
JOptionPane.showMessageDialog(null, "Insufficient amount!", "Information", JOptionPane.WARNING_MESSAGE);
}
}//GEN-LAST:event_Item9ActionPerformed
......
......@@ -7,41 +7,36 @@
package GUI;
import HelperClasses.ButtonColumn;
import Request.Request;
import grandquest.GrandQuest;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.List;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
/**
*
* @author Rikysamuel
*/
public class TradePanel extends javax.swing.JPanel {
int nHeight;
List<String []> offers;
GrandQuest gq;
/**
* Creates new form TradePanel
*/
public TradePanel() {
gq = new GrandQuest();
nHeight = 11;
// get from json
/*
list
*/
offers = parseOffer(GrandQuest.offers);
initComponents();
initTable();
}
......@@ -50,22 +45,33 @@ public class TradePanel extends javax.swing.JPanel {
* @return custom jTable
*/
JTable createTable() {
//data = list
Object[][] data = new Object[nHeight][5];
for (int i = 0; i < nHeight; i++) {
data[i][0] = new ImageIcon(getClass().getResource("/img/honey.png"));
data[i][1] = "1";
data[i][2] = new ImageIcon(getClass().getResource("/img/herbs.png"));
data[i][3] = "2";
data[i][4] = "This is a button";
Object[][] data;
if (offers!=null){
data = new Object[offers.size()][6];
for (int i = 0; i < offers.size(); i++) {
data[i][0] = new ImageIcon(getClass().getResource("/img/honey.png"));
data[i][1] = offers.get(i)[1];
data[i][2] = new ImageIcon(getClass().getResource("/img/herbs.png"));
data[i][3] = offers.get(i)[3];
if (offers.get(i)[4].equals("false")){
data[i][4] = "Fetch";
} else{
data[i][4] = "Cancel";
}
data[i][5] = offers.get(i)[5];
}
} else{
data = new Object [][] {};
}
String[] columnNames = {"Offered Item", "Number Offered", "Demanded Item", "Number Demanded", "Act"};
String[] columnNames = {"Offered Item", "Number Offered", "Demanded Item", "Number Demanded", "Act", "offer_token"};
return new JTable(data, columnNames);
}
public void initTable(){
Offer.getColumnModel().getColumn(5).setMinWidth(0);
Offer.getColumnModel().getColumn(5).setMaxWidth(0);
Offer.getColumn("Offered Item").setCellRenderer(new ImageCellRenderer());
Offer.getColumn("Demanded Item").setCellRenderer(new ImageCellRenderer());
......@@ -75,8 +81,51 @@ public class TradePanel extends javax.swing.JPanel {
{
JTable table = (JTable)e.getSource();
int modelRow = Integer.valueOf( e.getActionCommand() );
// do something
System.out.println("row: " + modelRow);
if (Offer.getValueAt(modelRow, 4)=="Fetch"){
String offer_token = Offer.getValueAt(modelRow, 5).toString();
if(Request.connectToServer(GrandQuest.host,GrandQuest.port)){
String sentence = Request.fetchItem(GrandQuest.token,offer_token).toString();
Request.responseHandler(Request.send(sentence));
}
if (Request.serverResponse!=null){
String res = Request.findInResponses("status");
switch(res){
case "ok" :
JOptionPane.showMessageDialog(null, "Offer Success!", "Information", JOptionPane.PLAIN_MESSAGE);
break;
case "fail":
JOptionPane.showMessageDialog(null, "Offer Failed!\n" + Request.findInResponses("fail"), "Information", JOptionPane.WARNING_MESSAGE);
break;
default :
JOptionPane.showMessageDialog(null, "Error!", "Error", JOptionPane.ERROR_MESSAGE);
break;
}
}
} // end of 'Fetch' case
else{
String offer_token = Offer.getValueAt(modelRow, 5).toString();
if(Request.connectToServer(GrandQuest.host,GrandQuest.port)){
String sentence = Request.fetchItem(GrandQuest.token,offer_token).toString();
Request.responseHandler(Request.send(sentence));
}
if (Request.serverResponse!=null){
String res = Request.findInResponses("status");
switch(res){
case "ok" :
JOptionPane.showMessageDialog(null, "Offer Cancelled Succesfully!", "Information", JOptionPane.PLAIN_MESSAGE);
break;
case "fail":
JOptionPane.showMessageDialog(null, "Cancel Offer Failed!\n" + Request.findInResponses("fail"), "Information", JOptionPane.WARNING_MESSAGE);
break;
default :
JOptionPane.showMessageDialog(null, "Error!", "Error", JOptionPane.ERROR_MESSAGE);
break;
}
}
}
}
};
......@@ -93,22 +142,33 @@ public class TradePanel extends javax.swing.JPanel {