Скачиваний:
61
Добавлен:
15.06.2014
Размер:
4.28 Кб
Скачать
package dialogs;

import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;

import lists.DepartmentListModel;
import tables.MyMainTableModel;

public class SelectDepartmentDialog extends BaseDialog {
//JDialog objects
private JDialog selectdepartmentdialog;

//JLabel objects
private JLabel selectitem;

//JList objects
private JList<String> departmentslist;
private DepartmentListModel listmodel;

//JButton objects
private JButton okButton;
private JButton cancelButton;

private MouseListener mouselistener;
private String selectedItem = "empty";

public SelectDepartmentDialog(JFrame myapplication,String nameofdialog,boolean var,MyMainTableModel maintablemodel) {
super();
selectdepartmentdialog = new JDialog(myapplication,nameofdialog,var);
selectdepartmentdialog.setSize(new Dimension(400,500));
selectdepartmentdialog.setResizable(false);

addComponentsToPane(selectdepartmentdialog.getContentPane(),maintablemodel,myapplication);

selectdepartmentdialog.setVisible(true);
}

private void addComponentsToPane(Container pane,MyMainTableModel maintablemodel,JFrame app) {
pane.setLayout(new BoxLayout(pane,BoxLayout.Y_AXIS));

addSelectItemJLabel(pane);
addListOfDepartmentsJList(pane,maintablemodel);

addOkButton(pane,app,maintablemodel);
addCancelButton(pane);
}

private void addSelectItemJLabel(Container container) {
selectitem = new JLabel("SELECT DEPARTMENT");
selectitem.setAlignmentX(Component.CENTER_ALIGNMENT);
container.add(selectitem);
}

private void addListOfDepartmentsJList(Container container,MyMainTableModel model) {
listmodel = new DepartmentListModel(model.getDepartmentContainer().getDepartmentNamesForBoughtProducts(),"");
departmentslist = new JList(listmodel);
mouselistener = new MouseAdapter() {
public void mouseClicked(MouseEvent event) {
if(event.getClickCount() == 1) {
selectedItem = (String)departmentslist.getSelectedValue();
}
}
};
departmentslist.addMouseListener(mouselistener);

JScrollPane scrollpane = new JScrollPane(departmentslist);
scrollpane.setMinimumSize(new Dimension(400,400));
scrollpane.setMaximumSize(new Dimension(400,400));

container.add(scrollpane);
}

private void addOkButton(Container container,final JFrame app,final MyMainTableModel tablemodel) {
okButton = new JButton("OK");
okButton.setAlignmentX(Container.CENTER_ALIGNMENT);
okButton.setMaximumSize(new Dimension(400,45));

okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
selectdepartmentdialog.setVisible(false);
if(selectedItem.equals("empty")) {
selectdepartmentdialog.setVisible(false);
JOptionPane.showMessageDialog(app,
"You don't select department!",
"Don't select department",
JOptionPane.WARNING_MESSAGE);
}

else {
selectdepartmentdialog.setVisible(false);
String nameofdialog = "TOTAL PROFIT BY " +selectedItem + " DEPARTMENT";
ShowDetailInfoByOnSaleDepartmentDialog dialog = new ShowDetailInfoByOnSaleDepartmentDialog(app,nameofdialog,true,tablemodel.getDepartmentContainer().getBoughtProductsContainer().searchByProductDepartment(selectedItem),"TOTAL PROFIT BY DEPARTMENT");
}
}
});

container.add(okButton);
}

private void addCancelButton(Container container) {
cancelButton = new JButton("CANCEL");
cancelButton.setAlignmentX(Container.CENTER_ALIGNMENT);
cancelButton.setMaximumSize(new Dimension(400,45));

cancelButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
selectdepartmentdialog.setVisible(false);
}
});
container.add(cancelButton);
}
}
Соседние файлы в папке dialogs