2011-01-03 20 views
0

こんにちは私は必死にあなたの助けが必要です。私はjcomboboxと3つのテキストフィールドを持つjframeを持っています。私はテキストフィールドに書きたいものと、コンボボックスに書かれたものを選択します。 TXTは、私は、たくさんのことが、何をしようとしたファイルがOrders.txtとして作成されているが、空白のまま:Sこれは私が任意のヘルプのおかげで:)Java cantを.txtに書き込む

public class addSalesMan extends JFrame { 
    private JComboBox namesJComboBox; 
    private JTextField text1;//gia to poso 
    private JTextField text2;//thn perigrafh 
    private JTextField text3;//kai to numero ths paragelias kai ola auta tha egrafontai sto Orders.txt 
    private JButton okJbutton; 
    private String names[] = {"Basilis Komnhnos", "Iwanna Papadhmhtriou"}; 
    public String amount,name,description,number; 

    public addSalesMan() { 
     super("Προσθήκη παραγγελιών"); 
     setLayout(new FlowLayout());//dialegoume to flowlayout 
//  TextFieldHandler handler = new TextFieldHandler(); writer.write(string); 



      //ftiaxonoume to combobox gia tn epilogi tou onomatos 
     namesJComboBox = new JComboBox(names);//orizmos JCOMBO BOX 
     namesJComboBox.setMaximumRowCount(2);//na emfanizei 2 grammes 
        add(namesJComboBox); 
      namesJComboBox.addItemListener(new ItemListener() { 
      //xeirozome to simvan edw dhladh tn kataxwrisei ston fakelo   
      public void itemStateChanged(ItemEvent event) { 
//prosdiorizoyme an eina epilegmeno to plaisio elegxou 
       if (event.getStateChange() == ItemEvent.SELECTED) {     

          name = (names[namesJComboBox.getSelectedIndex()]); 

//       writer.newLine();    
       setVisible(true); 
      } 
       } 
     }); //telos touComboBOx 


     //dimioutgw pediou keimenou me 10 sthles gia thn kathe epilogh kai veveonomaste oti tha mporoume na ta epe3ergasoume kanontas ta editable 

     text1 = new JTextField("Amount",10); 
add(text1); 
     text2 = new JTextField("Description",10); 
add(text2); 
     text3 = new JTextField("Order Number",10); 
add(text3); 

     TextFieldHandler handler = new TextFieldHandler(); 
     text1.addActionListener(handler); 
     text2.addActionListener(handler); 
     text3.addActionListener(handler); 

     //private eswterikh clash gia ton xeirismo twn events twn text 
//button kataxwrisis 
okJbutton=new JButton("Καταχώρηση"); 
add(okJbutton); 
ButtonHandler bhandler=new ButtonHandler(); 
okJbutton.addActionListener(bhandler); 

    Order order=new Order(name,amount,description,number); 
     Order.addOrders(name,amount,description,number); 

    } 
    private class ButtonHandler implements ActionListener{ 
     public void actionPerformed(ActionEvent bevent){ 

      JOptionPane.showMessageDialog(addSalesMan.this,String.format("Η Καταχωρηση ήταν επιτυχής",bevent.getActionCommand())); 


     } 
    } 
     private class TextFieldHandler implements ActionListener { 
      //epe3ergasia twn simvantwn me kathe enter t xrhsth 

      public void actionPerformed(ActionEvent evt) { 
       String amount,description,number; 
       amount=text1.getText(); 
       description=text2.getText(); 
       number=text3.getText(); 
       text1.selectAll(); 
       text2.selectAll(); 
       text3.selectAll(); 

       } 
     if(evt.getSource()==text1 && evt.getSource()==text2 && evt.getSource()==text3){ 
     JOptionPane.showMessageDialog(addSalesMan.this,String.format("Η Καταχωρηση ήταν επιτυχής",evt.getActionCommand())); 

      } 
     } 

//actionperformed telos 
      //ean o xrhsths patisei enter sthn kathe epilogh antistixi kataxwrisi sto 

      } 


      public static void main(String args[]) { 
     java.awt.EventQueue.invokeLater(new Runnable() { 
    public void run() { 
     new addSalesMan().setVisible(true); 
      } 
}); 
     } 
    } 

作家が別のクラスにいるに感謝し、私のコードです。関連するコードは次のとおりです。

+1

ここで、txtファイルに書き込むコードはありますか? –

+0

クラス名は通常、大文字「AddSalesMan」で始まります。 – AniDev

+0

上記のコードで 'addOrders'が呼び出されていますか? – jjnguy

答えて

1

あなたのコンストラクタにはOrder.addOrders()が呼び出されているようです。代わりに、ユーザーが選択内容を保存するときに呼び出す必要があります。ユーザーがボタンを押したときにこれが起こりたいと思っています。コードはボタンのActionListenerに追加する必要があります。

ユーザーがフレームを閉じるときに、ライターをフラッシュして閉じることが必要な場合があります。

は、あなたのフレームのコンストラクタに以下を追加します。

addWindowListener(new WindowAdapter(){ 
    public void windowClosing(WindowEvent e){ 
     writer.flush(); 
     writer.close(); 
    } 
}); 

ユーザーがフレームを閉じるときに、上記のコードは、ライターをフラッシュして閉じます。

コードが不明なので、writer変数が宣言されている場所がわかりません。クラスレベルの変数であると仮定しています。

また、毎回上書きするのではなく、ファイルに行を追加する場合は、ファイルを「追加」モードで開く必要があります。これは次の方法で実現できます。

new FileWriter(yourFilePath, true); // set append to true 
+0

ありがとうJJnguy私の作家は別のクラスにあります:)これはcodです – mazin

+0

@JJnguy:あなたはそれを聞いていますか?あなたは魚だ! :-) –

+0

@Donal、私はそれを得る...コッド、魚..ha – jjnguy

関連する問題