/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package wowgmtool;
/**
*
* @author Cybertronnix
*/
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
Class.forName("org.gjt.mm.mysql.Driver"); /**lädt den treiber für mysql(ka ob hier hin)*/
public class GmTool extends javax.swing.JFrame {
Statement stmt; /*variable für query(abfrage)*/
ResultSet rs;
private Object con;
/** variable für rückgrabe*/
/**
* Creates new form GmTool
*/
public GmTool() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
ip = new javax.swing.JTextField();
hostname = new javax.swing.JTextField();
port = new javax.swing.JTextField();
password = new javax.swing.JTextField();
Connect = new javax.swing.JButton();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jButton2 = new javax.swing.JButton();
jTextField5 = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
loaditems = new javax.swing.JButton();
jLabel8 = new javax.swing.JLabel();
send = new javax.swing.JButton();
refresh = new javax.swing.JButton();
delete = new javax.swing.JButton();
jScrollPane4 = new javax.swing.JScrollPane();
jTextArea2 = new javax.swing.JTextArea();
jScrollPane5 = new javax.swing.JScrollPane();
jList3 = new javax.swing.JList();
jScrollPane6 = new javax.swing.JScrollPane();
jList4 = new javax.swing.JList();
jScrollBar1 = new javax.swing.JScrollBar();
jScrollBar2 = new javax.swing.JScrollBar();
jScrollBar4 = new javax.swing.JScrollBar();
setDefaultCloseOperation(javax.swing.WindowConstan ts.EXIT_ON_CLOSE);
setBackground(new java.awt.Color(0, 255, 255));
jLabel1.setText("WoW Gm Tool");
Connect.setText("Verbinden");
Connect.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
ConnectActionPerformed(evt);
}
});
jLabel2.setText("IP");
jLabel3.setText("Port");
jLabel4.setText("Hostname");
jLabel5.setText("Passwort");
jButton2.setText("jButton2");
jTextField5.setText("jTextField5");
jLabel6.setText("Entry ID NPC");
jLabel7.setText("Liste aller Items");
loaditems.setText("Lade Liste");
loaditems.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
loaditemsActionPerformed(evt);
}
});
jLabel8.setText("Items die der Npc besitzt");
send.setText("Übergeben");
send.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
sendActionPerformed(evt);
}
});
refresh.setText("Neu Laden");
refresh.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
refreshActionPerformed(evt);
}
});
delete.setText("Löschen");
delete.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
deleteActionPerformed(evt);
}
});
jTextArea2.setColumns(20);
jTextArea2.setRows(5);
jScrollPane4.setViewportView(jTextArea2);
jList3.setModel(new javax.swing.AbstractListModel() {
String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
public int getSize() { return strings.length; }
public Object getElementAt(int i) { return strings[i]; }
});
jScrollPane5.setViewportView(jList3);
jList4.setModel(new javax.swing.AbstractListModel() {
String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
public int getSize() { return strings.length; }
public Object getElementAt(int i) { return strings[i]; }
});
jScrollPane6.setViewportView(jList4);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout .Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(3, 3, 3)
.addComponent(jScrollBar2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING)
.addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, 349, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(loaditems))))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILI NG, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 149, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(25, 25, 25)))
.addGap(60, 60, 60)
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING, false)
.addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(ip, javax.swing.GroupLayout.DEFAULT_SIZE, 104, Short.MAX_VALUE)
.addComponent(hostname)
.addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING)
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(port, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 56, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.TRAILING, false)
.addComponent(jLabel5, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(password, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 109, Short.MAX_VALUE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_S IZE, Short.MAX_VALUE))))
.addGroup(layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_S IZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILI NG, layout.createSequentialGroup()
.addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.UNRELATED)
.addComponent(jButton2)
.addGap(67, 67, 67))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILI NG, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(send)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addComponent(refresh)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addComponent(delete))
.addComponent(jLabel8))
.addGap(43, 43, 43))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILI NG, layout.createSequentialGroup()
.addComponent(Connect)
.addGap(131, 131, 131))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILI NG, layout.createSequentialGroup()
.addComponent(jScrollBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 284, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILI NG, layout.createSequentialGroup()
.addGap(3, 3, 3)
.addComponent(jScrollBar4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.UNRELATED)
.addComponent(jScrollPane4))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout .Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.BASELINE)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 54, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(ip, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(port, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jLabel3)))
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING)
.addComponent(jLabel4)
.addComponent(jLabel5))
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.BASELINE)
.addComponent(hostname, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(password, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addComponent(Connect)
.addGap(58, 58, 58)
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.BASELINE)
.addComponent(jLabel6)
.addComponent(jTextField5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton2))
.addGap(44, 44, 44)
.addComponent(jLabel8)
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.BASELINE)
.addComponent(refresh)
.addComponent(send)
.addComponent(delete))
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING)
.addComponent(jScrollBar1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 472, Short.MAX_VALUE)))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING)
.addComponent(loaditems)
.addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING)
.addComponent(jScrollBar2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jScrollPane6))))
.addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING, false)
.addComponent(jScrollPane4)
.addComponent(jScrollBar4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
);
pack();
}// </editor-fold>
private void ConnectActionPerformed(java.awt.event.ActionEvent evt) {
try {
// TODO add your handling code here:
Class.forName("org.gjt.mm.mysql.Driver"); /**lädt den treiber für mysql(ka ob hier hin)*/
String url = "jdbc:mysql://localhost:3306/meinDatenbankSchema"; /**legt das Datenbank ziel fest*/
Connection con = DriverManager.getConnection(url, root, ); /** stellt die Verbindung zur db her*/
stmt = con.createStatement(); /** ermöglicht Abfragen */
} catch (ClassNotFoundException ex) {
Logger.getLogger(GmTool.class.getName()).log(Level .SEVERE, null, ex);
}
}
private void loaditemsActionPerformed(java.awt.event.ActionEven t evt) {
// TODO add your handling code here:
stmt = con.createStatement("SELECT entry, name, class, AllowableClass, AllowableRace, RequiredLevel FROM item_template ORDER BY entry");
try {
rs = stmt.executeQuery("SELECT entry, name, class, AllowableClass, AllowableRace, RequiredLevel FROM item_template ORDER BY entry");
while(rs.next()){
String entry = rs.getString("entry");
String name = rs.getString("name");
String typ = rs.getString("class");
String AllowableClass = rs.getString("AllowableClass");
String race = rs.getString("AllowableRace");
String level = rs.getString("RequiredLevel");
System.out.println("Entry: "+entry+" | Name des Items: "+name+" | Itemtyp: "+typ+" | Klasse:"+AllowableClass+" | Rasse:"+race+" | Mindest Level:"+level);
/*Hier muss noch ein .setText()für den Log hin*/
con.close();
}
catch{
}
}
}
}
private void sendActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
/*hier muss String entry = .getText("");
String itementry = .getText("");
*/
stmt = con.createStatement("INSERT INTO npc_vendor('entry', 'slot', 'item', 'maxcount', 'incrtime', 'ExtendedCost') VALUES('entry', '0', 'itementry', '0', '0', '0')");
con.close();
}
private void refreshActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
stmt = con.createStatement("SELECT entry, item FROM npc_vendor ORDER BY entry");
rs = stmt.executeQuery("SELECT entry, item FROM npc_vendor ORDER BY entry");
while(rs.next()){
String entry = rs.getString("entry");
String item = rs.getString("item");
System.out.println("Entry des NPC's: "+entry+" | Item Entry:"+item);
/*Hier muss noch ein .setText()für den Log hin*/
con.close();
}
Löschen eines Items:
String item = java.getText("");
stmt = con.createStatement("DELETE FROM npc_vendor WHERE item = item");
while(rs.next()){
String entry = rs.getString("entry");
String item = rs.getString("item");
System.out.println("Entry: "+entry+" | Item : "+item+"|Wurde gelöscht!");
/*Hier muss noch ein .setText()für den Log hin*/
con.close();
}
}
private void deleteActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
stmt = con.createStatement("SELECT entry, item FROM npc_vendor ORDER BY entry");
rs = stmt.executeQuery("SELECT entry, name FROM npc_vendor ORDER BY entry");
while(rs.next()){
String entry = rs.getString("entry");
String item = rs.getString("item");
con.close();
}
if(String entry && String item ==0){
System.out.println("Der Npc enthält noch keine Items");
/*Hier muss noch ein .setText()für den Log hin*/
}
else{
System.out.println("Entry des Npc's: "+entry+" | Enthaltene Items: "+item);
/*Hier muss noch ein .setText()für den Log hin*/
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClass Name());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(GmTool.class.ge tName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(GmTool.class.ge tName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(GmTool.class.ge tName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(GmTool.class.ge tName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new GmTool().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton Connect;
private javax.swing.JButton delete;
private javax.swing.JTextField hostname;
private javax.swing.JTextField ip;
private javax.swing.JButton jButton2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JList jList3;
private javax.swing.JList jList4;
private javax.swing.JScrollBar jScrollBar1;
private javax.swing.JScrollBar jScrollBar2;
private javax.swing.JScrollBar jScrollBar4;
private javax.swing.JScrollPane jScrollPane4;
private javax.swing.JScrollPane jScrollPane5;
private javax.swing.JScrollPane jScrollPane6;
private javax.swing.JTextArea jTextArea2;
private javax.swing.JTextField jTextField5;
private javax.swing.JButton loaditems;
private javax.swing.JTextField password;
private javax.swing.JTextField port;
private javax.swing.JButton refresh;
private javax.swing.JButton send;
// End of variables declaration
}