2015-07-15 2 views
0

У меня есть этот код для JDialog:JDialog не отображается

public void createUI() { 

    contentPane2 = new JPanel(); 
    contentPane2.setLayout(new FlowLayout()); 
    contentPane2.setBackground(UIManager.getColor("menu")); 
    contentPane2.setBorder(new EmptyBorder(5, 5, 5, 5)); 
    setContentPane(contentPane2); 

    contentPane2.setLayout(new FormLayout(new ColumnSpec[] { 
      ColumnSpec.decode("149px"), 
      ColumnSpec.decode("max(38dlu;default):grow"), 
      FormFactory.RELATED_GAP_COLSPEC, 
      ColumnSpec.decode("max(48dlu;default)"), 
      FormFactory.RELATED_GAP_COLSPEC, 
      FormFactory.DEFAULT_COLSPEC, 
      FormFactory.RELATED_GAP_COLSPEC, 
      ColumnSpec.decode("46px:grow"), 
      FormFactory.RELATED_GAP_COLSPEC, 
      FormFactory.DEFAULT_COLSPEC,}, 
     new RowSpec[] { 
      FormFactory.RELATED_GAP_ROWSPEC, 
      RowSpec.decode("max(20dlu;default)"), 
      FormFactory.RELATED_GAP_ROWSPEC, 
      RowSpec.decode("14px"), 
      FormFactory.UNRELATED_GAP_ROWSPEC, 
      FormFactory.DEFAULT_ROWSPEC, 
      FormFactory.RELATED_GAP_ROWSPEC, 
      FormFactory.DEFAULT_ROWSPEC, 
      FormFactory.RELATED_GAP_ROWSPEC, 
      FormFactory.DEFAULT_ROWSPEC, 
      FormFactory.RELATED_GAP_ROWSPEC, 
      FormFactory.DEFAULT_ROWSPEC, 
      FormFactory.RELATED_GAP_ROWSPEC, 
      FormFactory.DEFAULT_ROWSPEC, 
      FormFactory.RELATED_GAP_ROWSPEC, 
      FormFactory.DEFAULT_ROWSPEC, 
      FormFactory.RELATED_GAP_ROWSPEC, 
      FormFactory.DEFAULT_ROWSPEC, 
      FormFactory.RELATED_GAP_ROWSPEC, 
      FormFactory.DEFAULT_ROWSPEC, 
      FormFactory.RELATED_GAP_ROWSPEC, 
      FormFactory.DEFAULT_ROWSPEC,})); 

    JLabel lblAddNewTask = new JLabel("PLEASE FILL THE NEW TASK INFORMATION", SwingConstants.CENTER); 
    lblAddNewTask.setVerticalAlignment(SwingConstants.CENTER); 
    lblAddNewTask.setToolTipText(""); 
    lblAddNewTask.setOpaque(true); 
    lblAddNewTask.setIgnoreRepaint(true); 
    lblAddNewTask.setFont(new Font("Verdana", Font.PLAIN, 11)); 
    lblAddNewTask.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "", TitledBorder.LEADING, TitledBorder.TOP, null, Color.YELLOW)); 
    lblAddNewTask.setBackground(new Color(255, 255, 255)); 
    lblAddNewTask.setAlignmentX(0.5f); 
    contentPane2.add(lblAddNewTask, "1, 2, 8, 1, fill, fill"); 

    JLabel lblChooseActivity = new JLabel("CHOOSE ACTIVITY :"); 
    contentPane2.add(lblChooseActivity, "1, 6, center, default"); 

    final JComboBox comboBox_1 = new JComboBox(); 
    comboBox_1.addItem("Diagnosis"); 
    comboBox_1.addItem("Treatment"); 
    comboBox_1.addItem("Medication"); 
    comboBox_1.addItem("Rehab"); 
    comboBox_1.addItem("Discharge"); 
    contentPane2.add(comboBox_1, "2, 6, left, default"); 

    JLabel lblName = new JLabel("NEW TASK NAME :"); 
    contentPane2.add(lblName, "1, 10, center, default"); 

    textField = new JTextField(); 
    contentPane2.add(textField, "2, 10, fill, default"); 
    textField.setColumns(10); 

    JLabel lblDay = new JLabel("DAY :"); 
    contentPane2.add(lblDay, "1, 14, center, default"); 

    final JComboBox comboBox = new JComboBox(); 
    comboBox.addItem("1"); 
    comboBox.addItem("2"); 
    comboBox.addItem("3");  
    contentPane2.add(comboBox, "2, 14, left, default"); 

    final JCheckBox chckbxNewCheckBox = new JCheckBox("Complication"); 
    contentPane2.add(chckbxNewCheckBox, "2, 18"); 

    JButton btnAdd = new JButton("ADD"); 
    btnAdd.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent arg0) { 

      System.out.println(comboBox_1.getSelectedItem()); //getActivity 
      //System.out.println(textField.getText()); //getTaskName 
      if (chckbxNewCheckBox.isSelected()){//if complication 
       System.out.println("*"+textField.getText());//setTaskName have * sign 

       JButton btn_6222 = new JButton("BAKAR BAKAR"); 
      // btn_6222.addActionListener(deleteAction); 
       BigPanel.add(btn_6222, "4, 3"); 
       BigPanel.updateUI(); 


       } 
      else{ 
       System.out.println(textField.getText());  
       } 
      System.out.println(comboBox.getSelectedItem()); //getDay 
      //System.out.println(chckbxNewCheckBox.getText());//getCheckedItem 

       String filename = "c:" + File.separator + "Text File from addCHECKUP Class.txt"; 
       File f = new File(filename); 
       PrintWriter pw = null; 
       try { 

        pw = new PrintWriter(f);     
        pw.println(comboBox_1.getSelectedItem()); 
        if (chckbxNewCheckBox.isSelected()){//if complication 
         pw.println("*"+textField.getText()); 

         } 
        else{ 
         pw.println(textField.getText()); 

         } 
        pw.println(comboBox.getSelectedItem()); 
        pw.flush(); 

       } catch (FileNotFoundException e) { 
        e.printStackTrace(); 
       }finally{ 
        //no matter what happen. close the output stream always. 
        //note that closing a printer will not throw IOException 
        if(pw!=null){ 
         pw.close(); 
        } 


      } 






      JOptionPane.showMessageDialog(null,"Successfully added !"); 
     } 


    }); 
    contentPane2.add(btnAdd, "8, 20"); 

     JDialog dialog = new JDialog(); 
     dialog.setTitle("Add New Task"); 
     dialog.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     dialog.setBounds(470, 180, 534, 323); 
     dialog.add(contentPane2); 
     dialog.setModal(true); 
     dialog.setVisible(true); 
} 

Этот код предназначен для actionPerformed кнопки. Когда эта кнопка нажата, она покажет JDialog createUI() выше

JButton button_3 = new JButton("ADD");//ADD ROW 
    button_3.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 

      createUI(); 

     } 

    }); 

Проблема заключается в том, когда я нажимаю кнопку, JDialog не отображается. Я пытаюсь выяснить, что не так с кодом, но не смог найти его. Пожалуйста, посмотрите на возможное решение. Благодаря

+1

Где находится этот 'JDialog', в начале функции' createGUI' или в конце его. Почему вы добавляете 'contentPane2' в два разных контейнера, один в начале' createGUI' и один в конце? –

+0

у вас есть какие-либо ошибки? Если это так, добавьте его в сообщение –

+0

Coild вы публикуете короткий упрощенный код, чтобы продемонстрировать проблему? – c0der

ответ

0

попытка вызова

dialog.pack(); 

перед установкой его видимым.

+0

Я не думаю, что это не причина того, что не видно –

Смежные вопросы