123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- package ui.view;
- import javax.swing.ButtonGroup;
- import javax.swing.JDialog;
- import javax.swing.JFrame;
- import javax.swing.JOptionPane;
- import javax.swing.JPanel;
- import javax.swing.JRadioButton;
- import javax.swing.JLabel;
- import java.awt.BorderLayout;
- import java.awt.Font;
- import javax.swing.JTextField;
- import javax.swing.JButton;
- import javax.swing.border.EmptyBorder;
- import classes.CpsEdge;
- import ui.controller.Control;
- import java.awt.event.ActionListener;
- import java.awt.event.ActionEvent;
- public class EditEdgesPopUp extends JDialog{
- private final JPanel contentPanel = new JPanel();
- private JTextField textField;
- private final JButton btnOk = new JButton("OK");
- private JTextField capacityField;
- private float capacity;
- private JRadioButton rdbtnChangeForAll;
- private JRadioButton rdbtnChangeForNew;
- private JRadioButton rdbtnChangeForAll_1;
- private Control controller;
- private MyCanvas canvas;
- private JLabel lblenterinfiniteFor;
-
- /**
- * Launch the application.
- */
- public static void main(String[] args) {
- try {
- EditEdgesPopUp dialog = new EditEdgesPopUp();
- dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
- dialog.setVisible(true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- public EditEdgesPopUp() {
- super((java.awt.Frame) null, true);
- setModalityType(java.awt.Dialog.ModalityType.APPLICATION_MODAL);
- this.setTitle("Edit Capacities of Edges");
- setBounds(100, 100, 438, 220);
- getContentPane().setLayout(new BorderLayout());
- contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
- getContentPane().add(contentPanel, BorderLayout.CENTER);
- contentPanel.setLayout(null);
-
- JLabel lblMaximumCapacity = new JLabel("Maximum Capacity:");
- lblMaximumCapacity.setFont(new Font("Tahoma", Font.PLAIN, 11));
- lblMaximumCapacity.setBounds(10, 11, 98, 14);
- contentPanel.add(lblMaximumCapacity);
-
- capacityField = new JTextField();
- capacityField.setBounds(107, 8, 120, 20);
- contentPanel.add(capacityField);
- capacityField.setColumns(10);
-
- rdbtnChangeForAll = new JRadioButton("Change for all existing Edges only");
- rdbtnChangeForAll.setBounds(10, 39, 265, 23);
- contentPanel.add(rdbtnChangeForAll);
-
- rdbtnChangeForNew = new JRadioButton("Change for new created Edges only");
- rdbtnChangeForNew.setBounds(10, 65, 265, 23);
- contentPanel.add(rdbtnChangeForNew);
-
- rdbtnChangeForAll_1 = new JRadioButton("Change for all existing and new created Edges");
- rdbtnChangeForAll_1.setBounds(10, 95, 296, 23);
- contentPanel.add(rdbtnChangeForAll_1);
-
- JButton btnCancel = new JButton("Cancel");
- btnCancel.setActionCommand("Cancel");
- btnCancel.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent arg0) {
- dispose();
- }
- });
- btnCancel.setBounds(285, 147, 89, 23);
- contentPanel.add(btnCancel);
-
- JButton btnOk_1 = new JButton("OK");
- btnOk_1.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if(capacityField.getText().equals("infinite")){
- capacity = -1;
- if(rdbtnChangeForAll.isSelected()){
- changeForExisting(capacity);
- dispose();
- }else if (rdbtnChangeForNew.isSelected()){
- changeForNew(capacity);
- dispose();
- }else if(rdbtnChangeForAll_1.isSelected()){
- changeForExAndNew(capacity);
- dispose();
- }else{
- JOptionPane.showMessageDialog(new JFrame(),
- "Please select one of the options");
- }
- }else{
- try {
- capacity = Float.parseFloat(capacityField.getText().toString());
- if(capacity < 0){
- throw new NumberFormatException();
- }
- if(rdbtnChangeForAll.isSelected()){
- changeForExisting(capacity);
- dispose();
- }else if (rdbtnChangeForNew.isSelected()){
- changeForNew(capacity);
- dispose();
- }else if(rdbtnChangeForAll_1.isSelected()){
- changeForExAndNew(capacity);
- dispose();
- }else{
- JOptionPane.showMessageDialog(new JFrame(),
- "Please select one of the options");
- }
- } catch (NumberFormatException e1) {
- JOptionPane.showMessageDialog(new JFrame(),
- "Please enter a number greater or equal 0 in the Field for Maximum Capacity");
- }
- } }
- });
- btnOk_1.setBounds(186, 147, 89, 23);
- contentPanel.add(btnOk_1);
- this.setTitle("Edit Edge Capacities");
- ButtonGroup bG = new ButtonGroup();
- bG.add(rdbtnChangeForAll_1);
- bG.add(rdbtnChangeForNew);
- bG.add(rdbtnChangeForAll);
-
- lblenterinfiniteFor = new JLabel("(enter \"infinite\" for infinite Capacity)");
- lblenterinfiniteFor.setBounds(237, 11, 175, 14);
- contentPanel.add(lblenterinfiniteFor);
- }
-
- public void setCanvas(MyCanvas can){
- canvas = can;
- }
-
- public void setController(Control cont){
- controller = cont;
- }
-
- public void changeForNew(float cap){
- canvas.setEdgeCapacity(cap);
- }
- public void changeForExisting(float cap){
- for(CpsEdge edge : controller.getModel().getEdgesOnCanvas()){
- edge.setCapacity(cap);
- }
- controller.calculateStateForCurrentTimeStep();
- canvas.repaint();
- }
- public void changeForExAndNew(float cap){
- changeForNew(cap);
- changeForExisting(cap);
- }
- }
|