2014-12-01 83 views
0

我正在一個簡單的GUI中添加,刪除,寫入磁盤等選項。當我編寫我的程序時,我來到一個問題,其中GUI開始消失,只打開空白幀設計選項卡/編輯器(也在運行時),我試圖撤消多次,它回來了,但這次我到了一個點,我不能做撤消了。我發佈了我擁有的所有代碼。有什麼可以解決這個問題的?Swing gui消失了

package nikola.lozanovski.bitola; 
    import java.awt.EventQueue; 
    import java.awt.Font; 
    import java.awt.event.ActionEvent; 
    import java.awt.event.ActionListener; 
    import java.util.Hashtable; 
    import javax.swing.JButton; 
    import javax.swing.JFrame; 
    import javax.swing.JLabel; 
    import javax.swing.JOptionPane; 
    import javax.swing.JPanel; 
    import javax.swing.JTextField; 
    import javax.swing.border.EmptyBorder; 
    public class VozenRed extends JFrame { 
     public VozenRed() { 
     } 
     /** 
     * 
     */ 
     private static final long serialVersionUID = 1L; 
     private JPanel contentPane; 
     private JButton Delete; 
     private JButton Transporter; 
     private JTextField IdBox; 
     private JTextField InitialBox; 
     private JTextField FinalBox; 
     private JTextField Hbox; 
     private JTextField PriceBox; 
     private JTextField AgencyBox; 
     private JTextField SaveBox; 
     private JTextField Mbox; 
     private JTextField DeleteBox; 
     private JTextField DestinationsBox; 
     /** 
     * Launch the application. 
     */ 
     public static void main(String[] args) { 
      EventQueue.invokeLater(new Runnable() { 
       public void run() { 
        try { 
         VozenRed frame = new VozenRed(); 
         frame.setVisible(true); 
        } catch (Exception e) { 
         e.printStackTrace(); 
        } 
       } 
      }); 
     } 
     /** 
     * Create the frame. 
     * @return 
     */ 
     public void pishi(){ //tried deleting from here 
     Hashtable<Broj, Elementi> h1=new Hashtable<Broj, Elementi>(); 
       try 
       { 
       Broj B=new Broj(IdBox.getText()); 
       Elementi elem=new Elementi(InitialBox.getText(), FinalBox.getText(), Hbox.getText(), Mbox.getText(), PriceBox.getText(), AgencyBox.getText()); 
       h1.put(B , elem); 
       } 
       catch(Exception e)//i tried NullPointerException still the same 
       { 
        System.out.println("asd");//not realy what i meant 
       } 
     } //deleting to here, still no frame 
     public void VozenRed1() { 
      setTitle("Transport me"); 
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      setBounds(100, 100, 502, 396); 
      contentPane = new JPanel(); 
      contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 
      setContentPane(contentPane); 
      contentPane.setLayout(null); 

      JButton InitialDestination = new JButton("Initial Destination"); 
      InitialDestination.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        JOptionPane.showMessageDialog(null, "Input the initial destination, I.E. My Home", "Initial Destination", 2); 
       } 
      }); 
      InitialDestination.setBounds(255, 63, 194, 23); 
      contentPane.add(InitialDestination); 

      JButton FinalDestination = new JButton("Final Destination"); 
      FinalDestination.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        JOptionPane.showMessageDialog(null, "Input final destination, I.E. Your Home", "Final Destination", 2); 
       } 
      }); 
      FinalDestination.setBounds(255, 97, 194, 23); 
      contentPane.add(FinalDestination); 

      JButton TimeDeparture = new JButton("Departure Time"); 
      TimeDeparture.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        JOptionPane.showMessageDialog(null, "Input time, Hours in first box, Minutes in second box, I.E. 00:00", "Departure Time", 2); 
       } 
      }); 
      TimeDeparture.setBounds(255, 128, 194, 23); 
      contentPane.add(TimeDeparture); 

      JButton TicketPrice = new JButton("Ticket Price"); 
      TicketPrice.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        JOptionPane.showMessageDialog(null,"Input price, digits only, I.E. 100","TicketPrice",2); 
       } 
      }); 
      TicketPrice.setBounds(255, 159, 194, 23); 
      contentPane.add(TicketPrice); 

      Transporter = new JButton("Transport Agency"); 
      Transporter.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        JOptionPane.showMessageDialog(null,"Input transporter name, I.E. MyTrans","Transporter",2); 
       } 
      }); 
      Transporter.setBounds(255, 190, 194, 23); 
      contentPane.add(Transporter); 

      JButton SaveRoute = new JButton("Save Route"); 
      SaveRoute.setBounds(255, 320, 194, 23); 
      contentPane.add(SaveRoute); 

      Delete = new JButton("Delete"); 
      Delete.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
       } 
      }); 
      Delete.setBounds(255, 286, 194, 23); 
      contentPane.add(Delete); 

      JButton Destinations = new JButton("Destinations"); 
      Destinations.setBounds(255, 252, 194, 23); 
      contentPane.add(Destinations); 

      JLabel InputLabel = new JLabel("Input Elements"); 
      InputLabel.setBounds(44, 11, 211, 14); 
      contentPane.add(InputLabel); 

      JLabel CommandsLabel = new JLabel("Additional Commands"); 
      CommandsLabel.setBounds(44, 222, 201, 14); 
      contentPane.add(CommandsLabel); 

      JButton IdentificationNumber = new JButton("Identification Number"); 
      IdentificationNumber.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent arg0) { 
        JOptionPane.showMessageDialog(null, "Enter Identification number , only numbers, I.E. 0123","IdentificationNumber", 2); 
       } 
      }); 
      IdentificationNumber.setBounds(255, 29, 194, 23); 
      contentPane.add(IdentificationNumber); 

      JButton ClearAll = new JButton("Clear All"); 
      ClearAll.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        IdBox.setText(null); 
        InitialBox.setText(null); 
        FinalBox.setText(null); 
        Hbox.setText(null); 
        Mbox.setText(null); 
        PriceBox.setText(null); 
        AgencyBox.setText(null); 
       } 
      }); 
      ClearAll.setFont(new Font("Tahoma", Font.BOLD, 11)); 
      ClearAll.setBounds(255, 218, 194, 23); 
      contentPane.add(ClearAll); 

      JLabel lblHelpButtons = new JLabel("Help Buttons"); 
      lblHelpButtons.setBounds(314, 11, 76, 14); 
      contentPane.add(lblHelpButtons); 

      JButton HelpDestinations = new JButton(""); 
      HelpDestinations.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        JOptionPane.showMessageDialog(null, "Outputs Destinations in a new box","Destinations", 2); 
       } 
      }); 
      HelpDestinations.setBounds(459, 252, 17, 23); 
      contentPane.add(HelpDestinations); 

      JButton HelpDelete = new JButton(""); 
      HelpDelete.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        JOptionPane.showMessageDialog(null, "Deletes selected Identification","Delete", 2); 
       } 
      }); 
      HelpDelete.setBounds(459, 286, 17, 23); 
      contentPane.add(HelpDelete); 

      JButton HelpSave = new JButton(""); 
      HelpSave.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        JOptionPane.showMessageDialog(null, "Choose Directory to save","Save Document", 2); 
       } 
      }); 
      HelpSave.setBounds(459, 320, 17, 23); 
      contentPane.add(HelpSave); 

      JButton HelpClearAll = new JButton(""); 
      HelpClearAll.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        JOptionPane.showMessageDialog(null, "Clears all the boxes above","Clear All", 2); 
       } 
      }); 
      HelpClearAll.setBounds(459, 218, 17, 23); 
      contentPane.add(HelpClearAll); 

      JButton IdentificationHelpButton = new JButton(""); 
      IdentificationHelpButton.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        IdBox.setText(null); 
       } 
      }); 
      IdentificationHelpButton.setBounds(10, 29, 17, 23); 
      contentPane.add(IdentificationHelpButton); 

      JButton InitialDestinationHelpButton = new JButton(""); 
      InitialDestinationHelpButton.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        InitialBox.setText(null); 
       } 
      }); 
      InitialDestinationHelpButton.setBounds(10, 60, 17, 23); 
      contentPane.add(InitialDestinationHelpButton); 

      JButton FinalDestinationHelpButton = new JButton(""); 
      FinalDestinationHelpButton.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent arg0) { 
        FinalBox.setText(null); 
       } 
      }); 
      FinalDestinationHelpButton.setBounds(10, 97, 17, 23); 
      contentPane.add(FinalDestinationHelpButton); 



      JButton DeparturetimeHelpButton = new JButton(""); 
      DeparturetimeHelpButton.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        Hbox.setText(null); 
        Mbox.setText(null); 
       } 
      }); 
      DeparturetimeHelpButton.setBounds(10, 129, 17, 23); 
      contentPane.add(DeparturetimeHelpButton); 

      JButton TicketPriceHelpButton = new JButton(""); 
      TicketPriceHelpButton.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        PriceBox.setText(null); 
       } 
      }); 
      TicketPriceHelpButton.setBounds(10, 159, 17, 23); 
      contentPane.add(TicketPriceHelpButton); 

      JButton TransporterHelpButton = new JButton(""); 
      TransporterHelpButton.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        AgencyBox.setText(null); 
       } 
      }); 
      TransporterHelpButton.setBounds(10, 190, 17, 23); 
      contentPane.add(TransporterHelpButton); 

      JLabel label = new JLabel("  :"); 
      label.setBounds(113, 132, 39, 14); 
      contentPane.add(label); 

      JButton SaveDocumentButton = new JButton(""); 
      SaveDocumentButton.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        SaveBox.setText(null); 
       } 
      }); 
      SaveDocumentButton.setBounds(10, 320, 17, 23); 
      contentPane.add(SaveDocumentButton); 

      IdBox = new JTextField(); 


      IdBox.setBounds(44, 30, 201, 20); 
      contentPane.add(IdBox); 
      IdBox.setColumns(10); 

      InitialBox = new JTextField(); 
      InitialBox.setColumns(10); 
      InitialBox.setBounds(44, 64, 201, 20); 
      contentPane.add(InitialBox); 

      FinalBox = new JTextField(); 
      FinalBox.setColumns(10); 
      FinalBox.setBounds(44, 98, 201, 20); 
      contentPane.add(FinalBox); 

      Hbox = new JTextField(); 
      Hbox.setColumns(10); 
      Hbox.setBounds(44, 129, 86, 20); 
      contentPane.add(Hbox); 

      PriceBox = new JTextField(); 
      PriceBox.setColumns(10); 
      PriceBox.setBounds(44, 160, 201, 20); 
      contentPane.add(PriceBox); 

      AgencyBox = new JTextField(); 
      AgencyBox.setColumns(10); 
      AgencyBox.setBounds(44, 191, 201, 20); 
      contentPane.add(AgencyBox); 

      SaveBox = new JTextField(); 
      SaveBox.setColumns(10); 
      SaveBox.setBounds(44, 321, 201, 20); 
      contentPane.add(SaveBox); 

      Mbox = new JTextField(); 
      Mbox.setColumns(10); 
      Mbox.setBounds(145, 129, 100, 20); 
      contentPane.add(Mbox); 

      DeleteBox = new JTextField(); 
      DeleteBox.setColumns(10); 
      DeleteBox.setBounds(44, 287, 201, 20); 
      contentPane.add(DeleteBox); 

      DestinationsBox = new JTextField(); 
      DestinationsBox.setColumns(10); 
      DestinationsBox.setBounds(44, 253, 201, 20); 
      contentPane.add(DestinationsBox); 

      JButton DeleteHelpButton = new JButton(""); 
      DeleteHelpButton.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        DeleteBox.setText(null); 
       } 
      }); 
      DeleteHelpButton.setBounds(10, 286, 17, 23); 
      contentPane.add(DeleteHelpButton); 

      JButton DestinationHelpButton = new JButton(""); 
      DestinationHelpButton.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        DestinationsBox.setText(null); 
       } 
      }); 
      DestinationHelpButton.setBounds(10, 252, 17, 23); 
      contentPane.add(DestinationHelpButton); 

     } 
    } 

回答

1

看起來你的代碼永遠不會調用VozenRed1()中的所有UI界面。

您創建VozenRed對象,該對象調用空的構造函數,然後將其設置爲可見。永遠不要致電VozenRed1()

+0

我記得有關於更改名稱的錯誤或警告,我認爲解決方案會是重新命名或替換一些代碼 – 2014-12-02 00:09:54

+0

我做到了,刪除公共類VozenRed(){}公共類VozenRed擴展JFrame後,你有很多我的謝意 – 2014-12-02 00:12:57

+0

也許'VozenRed1'曾經是這個類的構造函數?通過刪除名爲'VozenRed'的空構造函數來修復,然後將'VozenRed1'方法重命名爲'VozenRed',刪除'void'部分(這對構造函數無效)。 – 2014-12-02 00:13:34

1

我想你在jframe的構造函數中錯過了initComponents()

+0

不行,它不會那樣工作。它給出了錯誤,需要添加主體,更改爲構造函數或其他方法。 – 2014-12-02 00:03:05

+0

你什麼時候調用VozenRed1()來繪製UI元素? – 2014-12-02 00:08:14

+0

對不起,我現在看到你的評論,我錯誤地創建了另一個構造函數,它是空的,並且什麼都沒有調用,我通過刪除它並重命名另一個來修復它。謝謝 – 2014-12-02 00:32:15