package GUI;
import javax.imageio.ImageIO;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import java.awt.Color;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.swing.JTable;
import datahandling.ConfigHandler;
import datahandling.DatabaseHandler;
public class EditUI extends JFrame implements ActionListener{
private JTable tableProduct;
private JTable tableOperator;
JScrollPane scrollPane;
ConfigHandler ch = new ConfigHandler(".//config//lang.properties");
JRadioButton rbtnProducts;
JRadioButton rbtnOperator;
JButton btnEdit;
JButton btnNew;
JButton btnDelete;
DatabaseHandler dbHandler;
public EditUI() {
getContentPane().setBackground(Color.DARK_GRAY);
getContentPane().setLayout(new BorderLayout(0, 0));
//NORT SIDE
JPanel p = new JPanel();
p.setBackground(new Color(242, 161, 22));
rbtnProducts = new JRadioButton(ch.getConfigString("products"));
rbtnProducts.setSelected(true);
rbtnProducts.addActionListener(this);
rbtnOperator = new JRadioButton(ch.getConfigString("operator"));
rbtnOperator.setBackground(Color.DARK_GRAY);
rbtnOperator.addActionListener(this);
p.add(rbtnProducts);
p.add(rbtnOperator);
getContentPane().add(p, BorderLayout.NORTH);
//SOUTH SIDE
JPanel s = new JPanel();
s.setBackground(new Color(242, 161, 22));
// b.setBorder(BorderFactory.createEmptyBorder());
// b.setContentAreaFilled(false);
BufferedImage bimg = null;
try{
bimg = ImageIO.read(new File(".//menu_icons//button_rounded.png"));
}catch(IOException e){
e.printStackTrace();
}
ImageIcon ii = new ImageIcon();
ii.setImage(bimg.getScaledInstance(100, 35, 0));
btnNew = new JButton(ch.getConfigString("new"));
btnNew.setBackground(new Color(242, 161, 22));
btnNew.setIcon(ii);
btnNew.setHorizontalTextPosition(JButton.CENTER);
btnNew.setVerticalTextPosition(JButton.CENTER);
btnNew.addActionListener(this);
btnNew.setContentAreaFilled(false);
btnNew.setBorder(BorderFactory.createEmptyBorder());
btnNew.setOpaque(true);
btnEdit = new JButton(ch.getConfigString("edit"));
//this prevents white pieces at the corner!
btnEdit.setBackground(new Color(242, 161, 22));
btnEdit.setIcon(ii);
btnEdit.setHorizontalTextPosition(JButton.CENTER);
btnEdit.setVerticalTextPosition(JButton.CENTER);
btnEdit.addActionListener(this);
// btnEdit.setEnabled(false);
btnEdit.setContentAreaFilled(false);
btnEdit.setBorder(BorderFactory.createEmptyBorder());
btnEdit.setOpaque(true);
btnDelete = new JButton(ch.getConfigString("delete"));
btnDelete.setBackground(new Color(242, 161, 22));
btnDelete.setIcon(ii);
btnDelete.setHorizontalTextPosition(JButton.CENTER);
btnDelete.setVerticalTextPosition(JButton.CENTER);
btnDelete.addActionListener(this);
// btnDelete.setEnabled(false);
btnDelete.setContentAreaFilled(false);
btnDelete.setOpaque(true);
btnDelete.setBorder(BorderFactory.createEmptyBorder());
s.add(btnNew);
s.add(btnEdit);
s.add(btnDelete);
getContentPane().add(s, BorderLayout.SOUTH);
//CENTER
tableProduct = new JTable();
tableProduct.setBackground(Color.DARK_GRAY);
tableOperator = new JTable();
tableProduct.setBackground(Color.DARK_GRAY);
//getContentPane().add(tableProduct, BorderLayout.CENTER);
fillList("products",tableProduct);
//Create the scroll pane and add the table to it.
//scrollPane = new JScrollPane(tableProduct);
scrollPane.getViewport().setBackground(tableProduct.getBackground());
//Add the scroll pane to this panel.
add(scrollPane);
//setUndecorated(false);
//setResizable(false);
pack();
setVisible(true);
setSize(Toolkit.getDefaultToolkit().getScreenSize());
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
private void fillList(String s,JTable tab){
dbHandler = new DatabaseHandler(s);
int rowCount = dbHandler.getRowCount();
int colCount = dbHandler.getColumnCount();
// for(int i =0;i<rowCount;i++){
// for(int j = 0;j<colCount;j++){
// System.out.println(dbHandler.getData()[i][j]);
// }
// }
// for(int i = 0; i < dbHandler.getColumnCount();i++){
// System.out.println(dbHandler.getColumnNames()[i]);
// }
tab = new JTable(dbHandler.getData(),dbHandler.getColumnNames());
tab.setFillsViewportHeight(true);
scrollPane = new JScrollPane(tab);
//scrollPane.setViewportView(tab);
scrollPane.repaint();
repaint();
}
@Override
public void actionPerformed(ActionEvent e) {
Object o = (Object)e.getSource();
if(o == rbtnProducts){
rbtnOperator.setSelected(false);
fillList(ch.getConfigString("db_products"),tableProduct);
}elseif(o == rbtnOperator){
rbtnProducts.setSelected(false);
fillList(ch.getConfigString("db_operator"),tableOperator);
}else if(o == btnNew){
dbHandler.addProducts("Fanta Flasche 1,5 L", "beverage", 4.2f);
}else if(o == btnEdit){
System.out.println(btnEdit.getText());
}else if(o == btnDelete){
System.out.println(btnDelete.getText());
}
}
}