package barcode.gui;
import hibernateSwingApi.component.TablePanel;
import hibernateSwingApi.hibernate.HibernateManager;
import hibernateSwingApi.utils.Utils;
import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.JSpinner;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SpinnerNumberModel;
import javax.swing.SwingConstants;
import javax.swing.UIManager;
import javax.swing.WindowConstants;
import javax.swing.border.LineBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import service.AutoClosingMessageDialog;
import service.BarkodOlustur;
import service.LabelTasarimPaneli;
import service.PSAUtil;
import barcode.pojos.Etiket;
import barcode.pojos.EtiketLabel;
import barcode.pojos.EtiketLabelCesitler;
import barcode.pojos.PrintProperty;
public class PSAEtiketTasarimEkrani {
private JFrame frame;
private JPanel JPanelBarkodEkle;
private JPanel JPanelOnizleme;
private JPanel JPanelLabelTasarla;
private JButton JButtonLabelEkle;
private JComboBox<?> jComboBoxBarkodStnd;
private JLabel JLabelBarkodGen;
private JButton JButtonGeriDon;
private TablePanel tablePanelLabelList;
private JSpinner JSpinnerBarkodGen;
private JSpinner JSpinnerBarkodYuks;
private JLabel JLabelBarkodYuks;
private JButton JButtonBarkodEkle;
private JButton JButtonBarkodKaldir;
private JButton JButtonKaydet;
private JLabel JLabelOnizleme;
private JLabel JLabelEklenmisYazlar;
private JButton JButtonBarkod;
private JSlider cSliderGen;
private JSlider cSliderYuks;
private JPanel panel_1;
private JLabel JLabelEtiketGen;
private JLabel JLabelEtiketYuks;
private JSpinner JSpinnerEtiketGen;
private JSpinner JSpinnerEtiketYuks;
private JButton JButtonEtiketSil;
private Etiket etiket;
private List<EtiketLabelCesitler> etiketLabelCesitler;
private PrintProperty pProperty;
private boolean forUpdate;
private boolean focusinLabel;
private JLabel jLabelEtiketAdi;
JPanel barkodPanel;
List<EtiketLabel> list;
BarkodOlustur barkod = new BarkodOlustur();
private JTextField jTextFieldEtiketAdi;
private JPanel jPanelEtiketTanım;
public JFrame getFrame() {
return frame;
}
public void setFrame(JFrame frame) {
this.frame = frame;
}
@SuppressWarnings("unchecked")
public PSAEtiketTasarimEkrani(Etiket etiket, PrintProperty pProperty,
boolean forUpdate) {
this.etiket = etiket;
this.forUpdate = forUpdate;
if (forUpdate) {
list = (List<EtiketLabel>) HibernateManager.getInstance()
.getEntitysList(etiket, "labelList");
}
this.pProperty = pProperty;
initialize();
}
@SuppressWarnings({ "rawtypes", "unchecked" })
private void initialize() {
frame = new JFrame();
frame.setBounds(0, 0, 753, 543);
frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
frame.setTitle("ETİKET TASARIM");
frame.setResizable(false);
frame.setIconImage(PSAUtil.getImageIconViaRelativePath(
"picture/psaIcon.png").getImage());
tablePanelLabelList = new TablePanel(null, EtiketLabel.class, true,
true);
tablePanelLabelList.getTable().setRowHeight(25);
tablePanelLabelList.getTable().setAutoResizeMode(
JTable.AUTO_RESIZE_ALL_COLUMNS);
tablePanelLabelList.setBounds(10, 209, 340, 224);
tablePanelLabelList.setBorder(new LineBorder(new Color(0, 0, 0), 2));
JButtonKaydet = new JButton();
JButtonKaydet.setFont(new Font("Tahoma", Font.BOLD, 15));
JButtonKaydet.setIcon(PSAUtil
.getImageIconViaRelativePath("picture/onay.png"));
JButtonKaydet.setText("TASARIM KAYDET");
JButtonKaydet.setBounds(500, 444, 235, 53);
frame.getContentPane().add(JButtonKaydet);
JButtonEtiketSil = new JButton();
JButtonEtiketSil.setIcon(PSAUtil
.getImageIconViaRelativePath("picture/silIcon.png"));
JButtonEtiketSil.setText("ETİKET SİL");
JButtonEtiketSil.setFont(new Font("Tahoma", Font.BOLD, 15));
JButtonEtiketSil.setBounds(255, 444, 235, 53);
frame.getContentPane().add(JButtonEtiketSil);
jPanelEtiketTanım = new JPanel();
jPanelEtiketTanım.setBackground(UIManager.getColor("Button.shadow"));
jPanelEtiketTanım.setBounds(500, 373, 235, 61);
frame.getContentPane().add(jPanelEtiketTanım);
jPanelEtiketTanım.setLayout(null);
jLabelEtiketAdi = new JLabel("ETİKET ADI");
jLabelEtiketAdi.setBounds(28, 11, 184, 14);
jPanelEtiketTanım.add(jLabelEtiketAdi);
jLabelEtiketAdi.setFont(new Font("Tahoma", Font.BOLD, 14));
jLabelEtiketAdi.setHorizontalAlignment(SwingConstants.CENTER);
jTextFieldEtiketAdi = new JTextField(100);
jTextFieldEtiketAdi.setBounds(28, 30, 184, 20);
jPanelEtiketTanım.add(jTextFieldEtiketAdi);
initForNotUpdate();
initForUpdate();
JPanelLabelTasarla = new JPanel();
JPanelLabelTasarla
.setBackground(UIManager.getColor("Panel.background"));
JPanelLabelTasarla.setBounds(10, 53, 340, 120);
JPanelLabelTasarla.setBorder(new LineBorder(new Color(0, 0, 0), 2));
JButtonLabelEkle = new JButton();
JButtonLabelEkle.setIcon(PSAUtil
.getImageIconViaRelativePath("picture/ekle.png"));
JButtonLabelEkle.setFont(new Font("Tahoma", Font.BOLD, 14));
JButtonLabelEkle.setBounds(10, 11, 165, 34);
JButtonLabelEkle.setText("Yeni Yazı Ekle");
JPanelOnizleme = new JPanel();
JPanelOnizleme.setBackground(Color.WHITE);
JPanelOnizleme.setToolTipText("Önizleme");
JPanelOnizleme.setBounds(404, 195, etiket.getEtiketGen(),
etiket.getEtiketYuks());
JPanelOnizleme.setBorder(new LineBorder(new Color(0, 0, 0), 2));
frame.getContentPane().setLayout(null);
frame.getContentPane().add(tablePanelLabelList);
frame.getContentPane().add(JButtonLabelEkle);
frame.getContentPane().add(JPanelLabelTasarla);
JPanelLabelTasarla.setLayout(null);
JPanelBarkodEkle = new JPanel();
JPanelBarkodEkle.setBorder(new LineBorder(new Color(0, 0, 0), 2));
JPanelBarkodEkle.setBounds(0, 0, 340, 120);
JPanelBarkodEkle.setLayout(null);
jComboBoxBarkodStnd = new JComboBox();
jComboBoxBarkodStnd.setBounds(68, 22, 185, 20);
JPanelBarkodEkle.add(jComboBoxBarkodStnd);
jComboBoxBarkodStnd.setModel(new DefaultComboBoxModel(
new String[] { "Code39" }));
JLabelBarkodGen = new JLabel();
JLabelBarkodGen.setBounds(22, 61, 92, 14);
JPanelBarkodEkle.add(JLabelBarkodGen);
JLabelBarkodGen.setText("Genişlik");
JSpinnerBarkodGen = new JSpinner();
JSpinnerBarkodGen.setBounds(98, 58, 47, 20);
JPanelBarkodEkle.add(JSpinnerBarkodGen);
JSpinnerBarkodGen.setModel(new SpinnerNumberModel(LabelTasarimPaneli
.pxToMm((int) etiket.getBarkod().getBounds().getWidth()), 0,
500, 2));
JSpinnerBarkodYuks = new JSpinner();
JSpinnerBarkodYuks.setBounds(271, 58, 47, 20);
JPanelBarkodEkle.add(JSpinnerBarkodYuks);
JSpinnerBarkodYuks.setModel(new SpinnerNumberModel(LabelTasarimPaneli
.pxToMm((int) etiket.getBarkod().getBounds().getHeight()), 0,
200, 2));
JLabelBarkodYuks = new JLabel();
JLabelBarkodYuks.setBounds(170, 61, 97, 14);
JPanelBarkodEkle.add(JLabelBarkodYuks);
JLabelBarkodYuks.setText("Yükseklik");
JButtonBarkodEkle = new JButton();
JButtonBarkodEkle.setBounds(49, 85, 108, 30);
JPanelBarkodEkle.add(JButtonBarkodEkle);
JButtonBarkodEkle.setText("Barkod Ekle");
JButtonBarkodKaldir = new JButton();
JButtonBarkodKaldir.setText("Barkodu Kaldır");
JButtonBarkodKaldir.setBounds(167, 85, 130, 30);
JPanelBarkodEkle.add(JButtonBarkodKaldir);
frame.getContentPane().add(JPanelOnizleme);
JPanelOnizleme.setLayout(null);
JLabelOnizleme = new JLabel();
JLabelOnizleme.setHorizontalAlignment(SwingConstants.CENTER);
JLabelOnizleme.setFont(new Font("Tahoma", Font.BOLD, 14));
JLabelOnizleme.setText("Etiket Önizleme");
JLabelOnizleme.setBounds(404, 141, 189, 20);
frame.getContentPane().add(JLabelOnizleme);
JLabelEklenmisYazlar = new JLabel();
JLabelEklenmisYazlar.setHorizontalAlignment(SwingConstants.CENTER);
JLabelEklenmisYazlar.setFont(new Font("Tahoma", Font.BOLD, 14));
JLabelEklenmisYazlar.setText("Eklenmiş Yazılar");
JLabelEklenmisYazlar.setBounds(10, 184, 340, 20);
frame.getContentPane().add(JLabelEklenmisYazlar);
JButtonBarkod = new JButton();
JButtonBarkod.setIcon(PSAUtil
.getImageIconViaRelativePath("picture/barkod.png"));
JButtonBarkod.setFont(new Font("Tahoma", Font.BOLD, 14));
JButtonBarkod.setText("Barkod");
JButtonBarkod.setBounds(185, 11, 165, 34);
frame.getContentPane().add(JButtonBarkod);
cSliderGen = new JSlider();
cSliderGen.setMaximum(JPanelOnizleme.getWidth());
cSliderGen.setValue(0);
cSliderGen.setBounds(404, 171, JPanelOnizleme.getWidth(), 23);
frame.getContentPane().add(cSliderGen);
cSliderYuks = new JSlider(SwingConstants.VERTICAL);
cSliderYuks.setMaximum(JPanelOnizleme.getHeight());
cSliderYuks.setBounds(379, 195, 25, JPanelOnizleme.getHeight());
cSliderYuks.setValue(500);
frame.getContentPane().add(cSliderYuks);
panel_1 = new JPanel();
panel_1.setBorder(new LineBorder(new Color(0, 0, 0), 2));
panel_1.setBounds(379, 53, 348, 71);
frame.getContentPane().add(panel_1);
panel_1.setLayout(null);
JLabelEtiketGen = new JLabel();
JLabelEtiketGen.setBounds(88, 11, 124, 20);
panel_1.add(JLabelEtiketGen);
JLabelEtiketGen.setFont(new Font("Tahoma", Font.PLAIN, 14));
JLabelEtiketGen.setText("Etiket Genişliği");
JLabelEtiketYuks = new JLabel();
JLabelEtiketYuks.setBounds(88, 39, 124, 19);
panel_1.add(JLabelEtiketYuks);
JLabelEtiketYuks.setFont(new Font("Tahoma", Font.PLAIN, 14));
JLabelEtiketYuks.setText("Etiket Yüksekliği");
JSpinnerEtiketGen = new JSpinner();
JSpinnerEtiketGen.setBounds(222, 13, 47, 20);
panel_1.add(JSpinnerEtiketGen);
JSpinnerEtiketGen.setModel(new SpinnerNumberModel(LabelTasarimPaneli
.pxToMm(etiket.getEtiketGen()), 10, 100, 1));
JSpinnerEtiketYuks = new JSpinner();
JSpinnerEtiketYuks.setBounds(222, 40, 47, 20);
panel_1.add(JSpinnerEtiketYuks);
JSpinnerEtiketYuks.setModel(new SpinnerNumberModel(LabelTasarimPaneli
.pxToMm(etiket.getEtiketYuks()), 10, 100, 1));
JSpinnerEtiketGen
.setValue(LabelTasarimPaneli.pxToMm(pProperty.getGen())
/ pProperty.getSutun());
JSpinnerEtiketYuks.setValue(LabelTasarimPaneli.pxToMm(pProperty
.getYuks()) / pProperty.getSatir());
JSpinnerEtiketGen.setEnabled(false);
JSpinnerEtiketYuks.setEnabled(false);
JButtonGeriDon = new JButton();
JButtonGeriDon.setIcon(PSAUtil
.getImageIconViaRelativePath("picture/geriButonu.png"));
JButtonGeriDon.setText("GERİ DÖN");
JButtonGeriDon.setFont(new Font("Tahoma", Font.BOLD, 15));
JButtonGeriDon.setBounds(10, 444, 235, 53);
frame.getContentPane().add(JButtonGeriDon);
refreshTable();
componentInit();
initListeners();
}
private void refreshTable() {
tablePanelLabelList.setObjects(list);
}
private void componentInit() {
for (int i = 0; i < list.size(); i++) {
EtiketLabel label = list.get(i);
JPanelOnizleme.add(label.getLabel());
JPanelOnizleme.add(barkodPanel);
JPanelOnizleme.updateUI();
cSliderGen.setValue(barkodPanel.getX());
cSliderYuks.setValue(cSliderYuks.getMaximum() - barkodPanel.getY());
}
}
private void initForUpdate() {
if (forUpdate) {
if (etiket.getBounds() != null) {
JPanel panel = barkod.barkodOlustur(etiket.getBarkodStndrt(),
etiket.getBarkod().getData(), etiket.getBarkod()
.getBounds(), 1, 20);
etiket.setBarkod(barkod.getBarkod());
barkodPanel = panel;
barkodPanel.setBounds(etiket.getBounds());
jTextFieldEtiketAdi.setText(etiket.getName());
}
JButtonKaydet.setText("GÜNCELLE");
}
}
private void initForNotUpdate() {
if (!forUpdate) {
etiket = new Etiket();
etiket.setBarkodStndrt("Code39");
JPanel panel = barkod.barkodOlustur(
etiket.getBarkodStndrt(),
"123456789",
new Rectangle(LabelTasarimPaneli.mmToPx(10),
LabelTasarimPaneli.mmToPx(30), LabelTasarimPaneli
.mmToPx(40), LabelTasarimPaneli.mmToPx(9)),
1, 20);
etiket.setBarkod(barkod.getBarkod());
etiket.setEtiketGen(pProperty.getGen() / pProperty.getSutun());
etiket.setEtiketYuks(pProperty.getYuks() / pProperty.getSatir());
etiket.setName("Yeni Etiket");
barkodPanel = panel;
String[] labelNames = { "sirketAdi", "grup", "pesinSatisFiyati",
"taksitliSatisFiyati" };
String[] labelContents = { "Şirket Adı", "Ürün Grubu",
"Peşin Fiyat", "Taksitli Fiyat" };
Font[] labelFonts = { new Font("Times New Roman", Font.PLAIN, 11),
new Font("Times New Roman", Font.PLAIN, 11),
new Font("Times New Roman", Font.PLAIN, 11),
new Font("Times New Roman", Font.PLAIN, 11) };
int[] labelYPositions = { 2, 30, 60, 90 };
FontMetrics metrics;
list = new ArrayList<>();
for (int i = 0; i < labelNames.length; i++) {
EtiketLabel etiketLabel = new EtiketLabel();
JLabel label = new JLabel();
label.setBackground(Color.white);
label.setForeground(Color.black);
label.setOpaque(false);
label.setName(labelNames[i]);
label.setText(labelContents[i]);
label.setFont(labelFonts[i]);
metrics = label.getFontMetrics(label.getFont());
label.setBounds(LabelTasarimPaneli.mmToPx(10),
labelYPositions[i],
metrics.stringWidth(label.getText()),
metrics.getHeight());
etiketLabel.setLabel(label);
list.add(etiketLabel);
}
tablePanelLabelList.setObjects(list);
etiket.setLabelList(list);
JButtonEtiketSil.setEnabled(false);
}
}
@SuppressWarnings("unchecked")
private void fillEtiketLabelCesitler() {
etiketLabelCesitler = ((List<EtiketLabelCesitler>) HibernateManager
.getInstance().get(EtiketLabelCesitler.class));
if (etiketLabelCesitler.size() <= 0) {
EtiketLabelCesitler cesitler = new EtiketLabelCesitler();
cesitler.setLabelName("kod");
HibernateManager.getInstance().save(cesitler);
cesitler.setLabelName("sezon");
HibernateManager.getInstance().save(cesitler);
cesitler.setLabelName("grup");
HibernateManager.getInstance().save(cesitler);
cesitler.setLabelName("model");
HibernateManager.getInstance().save(cesitler);
cesitler.setLabelName("beden");
HibernateManager.getInstance().save(cesitler);
cesitler.setLabelName("cinsiyet");
HibernateManager.getInstance().save(cesitler);
cesitler.setLabelName("marka");
HibernateManager.getInstance().save(cesitler);
cesitler.setLabelName("renk");
HibernateManager.getInstance().save(cesitler);
cesitler.setLabelName("pesinSatisFiyati");
HibernateManager.getInstance().save(cesitler);
cesitler.setLabelName("taksitliSatisFiyati");
HibernateManager.getInstance().save(cesitler);
cesitler.setLabelName("bosLabel-1");
HibernateManager.getInstance().save(cesitler);
cesitler.setLabelName("bosLabel-2");
HibernateManager.getInstance().save(cesitler);
cesitler.setLabelName("bosLabel-3");
HibernateManager.getInstance().save(cesitler);
cesitler.setLabelName("bosLabel-4");
HibernateManager.getInstance().save(cesitler);
etiketLabelCesitler = ((List<EtiketLabelCesitler>) HibernateManager
.getInstance().get(EtiketLabelCesitler.class));
}
}
private void initListeners() {
JButtonLabelEkle.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
labelEkleClicked();
}
});
cSliderGen.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent arg0) {
sliderGenChanged();
}
});
cSliderYuks.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent arg0) {
sliderYuksChanged();
}
});
JButtonKaydet.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
kaydetClicked();
}
});
tablePanelLabelList.getTable().getSelectionModel()
.addListSelectionListener(new ListSelectionListener() {
@Override
public void valueChanged(ListSelectionEvent arg0) {
if (arg0.getSource() == tablePanelLabelList.getTable()
.getSelectionModel()) {
tableSelection();
}
}
});
JButtonBarkod.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
barkodClicked();
}
});
JButtonBarkodKaldir.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
barkodKaldirClicked();
}
});
JButtonBarkodEkle.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
barkodEkleClicked();
}
});
JButtonGeriDon.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
frame.dispose();
}
});
JButtonEtiketSil.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
etiketSilClicked();
}
});
tablePanelLabelList.getTable().addMouseListener(
new java.awt.event.MouseAdapter() {
@Override
public void mouseClicked(java.awt.event.MouseEvent evt) {
if (tablePanelLabelList
.getTable()
.getModel()
.getColumnName(
tablePanelLabelList.getTable()
.getSelectedColumn())
.equals(" ")) {
labelKaldirClicked();
}
}
});
}
protected void etiketSilClicked() {
int selectedOption = JOptionPane.showOptionDialog(null,
"Etiketi silmek istediğinizden emin misiniz?",
"SİSTEM UYARISI", JOptionPane.OK_CANCEL_OPTION,
JOptionPane.INFORMATION_MESSAGE, null, new String[] { "EVET",
"HAYIR" }, "default");
if (selectedOption == JOptionPane.OK_OPTION) {
boolean check = HibernateManager.getInstance().delete(etiket);
if (check) {
AutoClosingMessageDialog.showAutoClosingMessageDialog(
"Etiket bilgisi silinmiştir.", 2);
frame.setVisible(false);
}
}
}
protected void barkodEkleClicked() {
Component[] comps = JPanelOnizleme.getComponents();
for (int i = 0; i < comps.length; i++) {
if (comps[i].getName().equals("barkod")) {
JPanelOnizleme.remove(comps[i]);
JPanelOnizleme.updateUI();
}
}
int x = barkodPanel.getX();
int y = barkodPanel.getY();
int width = LabelTasarimPaneli.mmToPx((int) JSpinnerBarkodGen
.getValue());
int height = LabelTasarimPaneli.mmToPx((int) JSpinnerBarkodYuks
.getValue());
JPanel panel = barkod.barkodOlustur("Code39", etiket.getBarkod()
.getData(), new Rectangle(x, y, width, height), 1, 20);
panel.setName("barkod");
JPanelOnizleme.add(panel);
JPanelOnizleme.updateUI();
cSliderGen.setValue(panel.getX());
cSliderYuks.setValue(cSliderYuks.getMaximum() - panel.getY());
}
protected void barkodKaldirClicked() {
Component[] comps = JPanelOnizleme.getComponents();
for (int i = 0; i < comps.length; i++) {
if (comps[i].getName().equals("barkod")) {
barkodPanel = null;
JPanelOnizleme.remove(comps[i]);
JPanelOnizleme.updateUI();
}
}
}
protected void barkodClicked() {
focusinLabel = false;
Component[] comps = JPanelOnizleme.getComponents();
for (int i = 0; i < comps.length; i++) {
if (comps[i].getName().equals("barkod")) {
cSliderGen.setValue(comps[i].getX());
cSliderYuks
.setValue(cSliderYuks.getMaximum() - comps[i].getY());
}
}
JPanelLabelTasarla.removeAll();
JPanelLabelTasarla.add(JPanelBarkodEkle);
JPanelLabelTasarla.updateUI();
}
protected void tableSelection() {
focusinLabel = true;
JPanelLabelTasarla.removeAll();
JPanelLabelTasarla.updateUI();
EtiketLabel label = (EtiketLabel) tablePanelLabelList
.getSelectedObject();
if (label == null) {
return;
}
cSliderGen.setValue(label.getLabel().getX());
cSliderYuks
.setValue(cSliderYuks.getMaximum() - label.getLabel().getY());
LabelTasarimPaneli tasarimPaneli = new LabelTasarimPaneli();
JPanel panel = tasarimPaneli.panelOlustur(JPanelOnizleme, label,
cSliderGen, cSliderYuks);
JPanelLabelTasarla.add(panel);
JPanelLabelTasarla.updateUI();
cSliderGen.updateUI();
cSliderYuks.updateUI();
}
protected void kaydetClicked() {
if (forUpdate) {
etiket.setEtiketGen(JPanelOnizleme.getWidth());
etiket.setEtiketYuks(JPanelOnizleme.getHeight());
if (barkodPanel != null) {
etiket.setBarkodStndrt("Code39");
etiket.setBounds(barkodPanel.getBounds());
}
etiket.setLabelList(list);
etiket.setName(jTextFieldEtiketAdi.getText());
String[] options = { "Evet", "Hayır" };
if (JOptionPane.showOptionDialog(null,
"Etiketiniz güncellencektir, eminmisiniz ?", null,
JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE,
null, options, options[1]) == 0) {
HibernateManager.getInstance().update(etiket);
AutoClosingMessageDialog.showAutoClosingMessageDialog(
"\"" + etiket.getName() + "\" "
+ "Etiketiniz Güncellendi !", 2);
frame.setVisible(false);
}
} else if (!forUpdate) {
String etiketAdi = jTextFieldEtiketAdi.getText().trim();
if (etiketAdi == null || etiketAdi.equals("")) {
Utils.showMessage("Etiket Adı Giriniz !");
return;
} else {
@SuppressWarnings("unchecked")
List<Etiket> etiketList = (List<Etiket>) HibernateManager
.getInstance().get(Etiket.class);
for (int i = 0; i < etiketList.size(); i++) {
if (etiketList.get(i).getName().equals(etiketAdi)) {
Utils.showMessage("Etiket Adı Mevcuttur !");
return;
}
}
etiket.setName(etiketAdi);
etiket.setLabelList(list);
etiket.setEtiketGen(JPanelOnizleme.getWidth());
etiket.setEtiketYuks(JPanelOnizleme.getHeight());
if (barkodPanel != null) {
etiket.setBounds(barkodPanel.getBounds());
etiket.setBarkod(barkod.getBarkod());
}
HibernateManager.getInstance().save(etiket);
AutoClosingMessageDialog.showAutoClosingMessageDialog("\""
+ etiket.getName() + "\" " + "Etiketiniz Kaydedildi !",
2);
JButtonKaydet.setText("GÜNCELLE");
JButtonEtiketSil.setEnabled(true);
forUpdate = true;
frame.setVisible(false);
}
}
}
protected void labelKaldirClicked() {
if (tablePanelLabelList.getTable().getSelectedRow() < 0) {
Utils.showMessage("Label Seçiniz !");
} else {
EtiketLabel label = (EtiketLabel) tablePanelLabelList
.getSelectedObject();
String labelName = label.getLabel().getName();
Component[] components = JPanelOnizleme.getComponents();
for (int i = 0; i < components.length; i++) {
if (components[i].getName().equals(labelName)) {
JPanelOnizleme.remove(components[i]);
JPanelOnizleme.updateUI();
}
}
list.remove(tablePanelLabelList.getSelectedObject());
tablePanelLabelList.setObjects(list);
JPanelLabelTasarla.removeAll();
JPanelLabelTasarla.updateUI();
}
}
protected void sliderYuksChanged() {
Component[] comps = JPanelOnizleme.getComponents();
barkodPanel = null;
for (int i = 0; i < comps.length; i++) {
if (comps[i].getName().equals("barkod")) {
barkodPanel = (JPanel) comps[i];
}
}
if (focusinLabel) {
int value = cSliderYuks.getMaximum() - cSliderYuks.getValue();
EtiketLabel etiket = (EtiketLabel) tablePanelLabelList
.getSelectedObject();
JLabel label = etiket.getLabel();
label.setBounds(label.getX(), value, label.getWidth(),
label.getHeight());
for (int i = 0; i < comps.length; i++) {
if (comps[i].getName().equals(label.getName())) {
comps[i].setBounds(label.getX(), value, label.getWidth(),
label.getHeight());
break;
}
}
} else if (!focusinLabel && barkodPanel != null) {
barkodPanel.setBounds(barkodPanel.getX(), cSliderYuks.getMaximum()
- cSliderYuks.getValue(), barkodPanel.getWidth(),
barkodPanel.getHeight());
}
JPanelOnizleme.updateUI();
}
protected void sliderGenChanged() {
Component[] compsOnizleme = JPanelOnizleme.getComponents();
barkodPanel = null;
for (int i = 0; i < compsOnizleme.length; i++) {
if (compsOnizleme[i].getName().equals("barkod")) {
barkodPanel = (JPanel) compsOnizleme[i];
}
}
if (focusinLabel) {
EtiketLabel etiket = (EtiketLabel) tablePanelLabelList
.getSelectedObject();
JLabel label = etiket.getLabel();
label.setBounds(cSliderGen.getValue(), label.getY(),
label.getWidth(), label.getHeight());
for (int i = 0; i < compsOnizleme.length; i++) {
if (compsOnizleme[i].getName().equals(label.getName())) {
compsOnizleme[i].setBounds(cSliderGen.getValue(),
label.getY(), label.getWidth(), label.getHeight());
break;
}
}
} else if (!focusinLabel && barkodPanel != null) {
barkodPanel.setBounds(cSliderGen.getValue(), barkodPanel.getY(),
barkodPanel.getWidth(), barkodPanel.getHeight());
}
JPanelOnizleme.updateUI();
}
protected void labelEkleClicked() {
fillEtiketLabelCesitler();
EtiketLabel newLabel = new EtiketLabel();
newLabel.setLabel(new JLabel());
String[] labelList = new String[etiketLabelCesitler.size()];
for (int i = 0; i < etiketLabelCesitler.size(); i++) {
labelList[i] = etiketLabelCesitler.get(i).getLabelName();
}
String labelName = (String) JOptionPane.showInputDialog(null, "", "YAZI EKLE",
JOptionPane.QUESTION_MESSAGE, null, labelList, labelList[0]);
if (labelName != null) {
if (labelName.length() != 0 || !labelName.equals("")) {
for (int i = 0; i < list.size(); i++) {
if (labelName.equals(list.get(i).getLabel().getName())) {
Utils.showMessage("Seçilen label etikette mevcuttur !");
return;
}
}
newLabel.getLabel().setName(labelName);
switch (labelName) {
case "kod":
newLabel.getLabel().setText("Urun Kodu");
break;
case "sezon":
newLabel.getLabel().setText("Urun Sezonu");
break;
case "grup":
newLabel.getLabel().setText("Urun Grubu");
break;
case "model":
newLabel.getLabel().setText("Urun Modeli");
break;
case "beden":
newLabel.getLabel().setText("Urun Bedeni");
break;
case "cinsiyet":
newLabel.getLabel().setText("Cinsiyet");
break;
case "marka":
newLabel.getLabel().setText("Urun Markasi");
break;
case "renk":
newLabel.getLabel().setText("Urun Rengi");
break;
case "pesinSatisFiyati":
newLabel.getLabel().setText("Peşin Fiyatı");
break;
case "taksitliSatisFiyati":
newLabel.getLabel().setText("Taksitli Fiyatı");
break;
case "bosLabel-1":
newLabel.getLabel().setText("Boş Label - 1");
break;
case "bosLabel-2":
newLabel.getLabel().setText("Boş Label - 2");
break;
case "bosLabel-3":
newLabel.getLabel().setText("Boş Label - 3");
break;
case "bosLabel-4":
newLabel.getLabel().setText("Boş Label - 4");
break;
default:
break;
}
newLabel.getLabel().setBounds(0, 0, 100, 20);
newLabel.getLabel().setFont(
new Font("Times New Roman", Font.PLAIN, 11));
newLabel.getLabel().setForeground(Color.BLACK);
newLabel.getLabel().setBackground(Color.WHITE);
JPanelOnizleme.add(newLabel.getLabel());
JPanelOnizleme.updateUI();
list.add(newLabel);
}
}
tablePanelLabelList.setObjects(list);
if (tablePanelLabelList.getTable().getRowCount() > 1) {
tablePanelLabelList.getTable().setRowSelectionInterval(
tablePanelLabelList.getTable().getRowCount() - 2,
tablePanelLabelList.getTable().getRowCount() - 1);
} else {
tablePanelLabelList.getTable().setRowSelectionInterval(0, 0);
}
tableSelection();
}
}