import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SQL extends JFrame implements ActionListener
{
private JPanel panelConnection, panelEintrag, panelNew, panelDatabase, panelEintragLoeschen, panelAbove, panelBottom;
private JButton btnVerbinde, btnHinzufuegen, btnAdd;
private JLabel labelHead, labelServer, labelDatabase, labelUser, labelPasswort, labelBezeichnung, labelPreisOne, labelPreisTwo, labelMenge, labelWarengruppe, labelMarke, labelAnbieter, labelNewAnbieter, labelNewWarengruppe, labelNewEinheit, labelNewMarke;
private JTextField fieldServer, fieldDatabase, fieldUser, fieldBezeichnung, fieldPreis, fieldMenge, fieldNewAnbieter, fieldNewWarengruppe, fieldNewEinheit, fieldNewMarke, fieldAusgabe;
private JPasswordField fieldPasswort;
private JComboBox optionWarengruppe, optionMenge, optionMarke, optionAnbieter;
private JTabbedPane tabbedPane = new JTabbedPane();
private databaseConnector db;
private SingleSelectionModel tabbedPaneModel;
public SQL()
{
this.setSize(450, 350);
this.setTitle("Database-Connector");
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.init();
Container cp = this.getContentPane();
cp.setLayout(new BorderLayout());
//--------------------------------------------------------------------- BorderLayout.NORTH
this.panelAbove = new JPanel();
this.panelAbove.setLayout(new FlowLayout(FlowLayout.LEFT));
this.panelAbove.add(this.labelHead = new JLabel("Java-Database-Connector"));
this.panelAbove.setBackground(Color.WHITE);
cp.add(this.panelAbove, BorderLayout.NORTH);
//--------------------------------------------------------------------- BorderLayout.SOUTH
this.panelBottom = new JPanel();
this.panelBottom.setBackground(new Color(70, 130, 180));
this.panelBottom.setLayout(new GridLayout(1,0));
this.panelBottom.add(this.fieldAusgabe = new JTextField());
this.fieldAusgabe.setBackground(new Color(25, 25, 112));
this.fieldAusgabe.setForeground(Color.WHITE);
this.setTabs();
cp.add(this.panelBottom, BorderLayout.SOUTH);
for(int i=0; i<this.tabbedPane.getTabCount(); i++){
this.tabbedPane.setBackgroundAt(i, new Color(211, 211, 211));
}
this.setVisible(true);
}
public void init()
{
try{
this.db = new databaseConnector("//localhost/produktvergleich", "root", "david");
}catch(Exception ex5){
}
}
public void setTabs()
{
setTabConnection();
setTabDatabase();
setTabNewEntry();
setTabProvider();
add(this.tabbedPane, BorderLayout.CENTER);
}
//--------------------------------------------------------------------------- BorderLayout.CENTER
public void setTabConnection()
{
JPanel connectionTwo = new JPanel();
JPanel panel = new JPanel();
JPanel panel2 = new JPanel();
this.panelConnection = new JPanel();
this.panelConnection.setLayout(new GridLayout(3, 0));
panel.setLayout(new GridLayout(4,1));
panel.add(this.labelServer = new JLabel("Server:"));
panel.add(this.fieldServer = new JTextField(1));
panel.add(this.labelDatabase = new JLabel("Datenbank:"));
panel.add(this.fieldDatabase = new JTextField(1));
panel.add(this.labelUser = new JLabel("Benutzername:"));
panel.add(this.fieldUser = new JTextField());
panel.add(this.labelPasswort = new JLabel("Passwort:"));
panel.add(this.fieldPasswort = new JPasswordField());
this.panelConnection.add(panel);
this.panelConnection.add(new JPanel());
connectionTwo.setLayout(new BorderLayout());
connectionTwo.add(panel2, BorderLayout.SOUTH);
panel2.setLayout(new FlowLayout(FlowLayout.LEFT));
panel2.add(this.btnVerbinde = new JButton("Connect"));
this.btnVerbinde.setBackground(new Color(34, 139, 34));
this.btnVerbinde.setForeground(Color.WHITE);
this.btnVerbinde.addActionListener(this);
this.panelConnection.add(connectionTwo);
this.tabbedPane.add("Settings", this.panelConnection);
}
public void setTabNewEntry()
{
JPanel panelOben = new JPanel();
JPanel panelUnten;
JPanel panelLinks;
panelOben.setLayout(new GridLayout(2, 0));
this.panelEintrag = new JPanel();
this.panelEintrag.setLayout(new GridLayout(6, 2));
this.panelEintrag.add(this.labelBezeichnung = new JLabel("Bezeichnung"));
this.panelEintrag.add(this.fieldBezeichnung = new JTextField());
this.panelEintrag.add(new JPanel());
this.panelEintrag.add(this.labelPreisOne = new JLabel("Preis"));
this.panelEintrag.add(this.fieldPreis = new JTextField());
this.panelEintrag.add(this.labelPreisTwo = new JLabel("€"));
this.panelEintrag.add(this.labelMenge = new JLabel("Menge"));
this.panelEintrag.add(this.fieldMenge = new JTextField());
this.panelEintrag.add(this.optionMenge = new JComboBox());
this.panelEintrag.add(this.labelWarengruppe = new JLabel("Warengruppe"));
this.panelEintrag.add(this.optionWarengruppe= new JComboBox());
this.panelEintrag.add(new JPanel());
this.panelEintrag.add(this.labelMarke = new JLabel("Marke"));
this.panelEintrag.add(this.optionMarke = new JComboBox());
this.panelEintrag.add(new JPanel());
this.panelEintrag.add(this.labelAnbieter = new JLabel("Anbieter"));
this.panelEintrag.add(this.optionAnbieter = new JComboBox());
panelOben.add(this.panelEintrag);
panelOben.add(panelUnten = new JPanel());
panelUnten.setLayout(new BorderLayout());
panelUnten.add(panelLinks = new JPanel(), BorderLayout.SOUTH);
panelLinks.setLayout(new FlowLayout(FlowLayout.LEFT));
panelLinks.add(this.btnHinzufuegen = new JButton("add"));
this.btnHinzufuegen.addActionListener(this);
if(db.executeQuery("SELECT bezeichnung FROM warengruppe")){
while(db.next()){
this.optionWarengruppe.addItem(db.getText("bezeichnung"));
}
}
if(db.executeQuery("SELECT bezeichnung FROM anbieter")){
while(db.next()){
this.optionAnbieter.addItem(db.getText("bezeichnung"));
}
}
if(db.executeQuery("SELECT bezeichnung FROM marken")){
while(db.next()){
this.optionMarke.addItem(db.getText("bezeichnung"));
}
}
if(db.executeQuery("SELECT bezeichnung FROM einheit")){
while(db.next()){
this.optionMenge.addItem(db.getText("bezeichnung"));
}
}
this.tabbedPane.add("Entry", panelOben);
}
public void setTabProvider()
{
JPanel oben;
JPanel unten;
JPanel unten2;
this.panelNew = new JPanel();
this.panelNew.setLayout(new GridLayout(3, 0));
this.panelNew.add(oben = new JPanel());
oben.setLayout(new GridLayout(4, 2));
oben.add(this.labelNewAnbieter = new JLabel("Anbieter"));
oben.add(this.fieldNewAnbieter = new JTextField());
oben.add(this.labelNewWarengruppe = new JLabel("Warengruppe"));
oben.add(this.fieldNewAnbieter = new JTextField());
oben.add(this.labelNewMarke = new JLabel("Marke"));
oben.add(this.fieldNewMarke = new JTextField());
oben.add(this.labelNewEinheit = new JLabel("Einheit"));
oben.add(this.fieldNewEinheit = new JTextField());
this.panelNew.add(new JPanel());
this.panelNew.add(unten = new JPanel());
unten.setLayout(new BorderLayout());
unten.add(unten2 = new JPanel(), BorderLayout.SOUTH);
unten2.setLayout(new FlowLayout(FlowLayout.LEFT));
unten2.add(this.btnAdd = new JButton("add"));
this.btnAdd.addActionListener(this);
this.tabbedPane.add("New structure", this.panelNew);
}
public void setTabDatabase()
{
this.panelDatabase = new JPanel();
this.tabbedPane.add("Database", this.panelDatabase);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == this.btnVerbinde){
try{
this.db = new databaseConnector("//"+this.fieldServer.getText()+"/"+this.fieldDatabase.getText(), this.fieldUser.getText(), String.valueOf(this.fieldPasswort.getPassword()));
this.btnVerbinde.setBackground(new Color(205, 38, 38));
this.btnVerbinde.setText("disconnect");
this.fieldAusgabe.setText("Datenbank("+this.fieldDatabase.getText()+") wurde erfolgreich angebunden");
}catch(Exception ex2){
this.fieldAusgabe.setText("Datenbank("+this.fieldDatabase.getText()+") wurde nicht erfolgreich angebunden");
}
}
if(e.getActionCommand().equals("disconnect")){
this.btnVerbinde.setBackground(new Color(34, 139, 34));
this.btnVerbinde.setText("connect");
this.fieldServer.setText("");
this.fieldDatabase.setText("");
this.fieldUser.setText("");
this.fieldPasswort.setText("");
this.fieldAusgabe.setText("Verbindung zur Datenbank wurde getrennt");
}
if(e.getSource() == this.btnHinzufuegen){
}
if(e.getSource() == this.btnAdd){
try{
db.executeUpdate("INSERT INTO warengruppe(bezeichnung) VALUES('"+fieldNewWarengruppe.getText()+"')");
db.executeUpdate("INSERT INTO anbieter(bezeichnung) VALUES('"+fieldNewAnbieter.getText()+"')");
db.executeUpdate("INSERT INTO einheit(bezeichnung) VALUES('"+fieldNewEinheit.getText()+"')");
db.executeUpdate("INSERT INTO marken(bezeichnung) VALUES('"+fieldNewMarke.getText()+"')");
this.fieldAusgabe.setText("Datensätze eingefügt");
}catch(Exception ex34){
this.fieldAusgabe.setText("Datensätze nicht einfügt");
}
}
}
public static void main (String[] args)
{
new SQL();
}
}