Avatar billede weiseren Nybegynder
13. februar 2005 - 23:10 Der er 2 kommentarer

Java problemer

Jeg arbejder på et lille projekt hvor når jeg skriver noget i en JTextfield i en JTabbedPane og gemmer det så skal det skrive til en random access fil. Jeg ville lave en class i min GuiInterface der hedder writeToFile som bliver kaldt når knappen bliver trykket i mit add player panel. Er der nogle ?


//******************************************************************
// GuiInterface.java                    Author: Kasper Weis
//
// This is the GUI used in the program.
//******************************************************************

  import java.awt.*;
  import javax.swing.*;
  import java.io.*;

    public class GuiInterface
  {   
       
       
      public static void main (String[] args) throws IOException
      {
            RandomAccessFile cc = new RandomAccessFile("cc.dat","rw");   
           
        JFrame frame = new JFrame ("COACH'S CORNER: Hockey Edition v.1.0");
        frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
     
        JTabbedPane tp = new JTabbedPane();
        tp.addTab ("Add player", new AddPlayerPanel());
         
     
                 
        frame.getContentPane().add(tp);
        frame.pack();
        frame.show();
     
     
      }
     
    class Player
      {
        String firstname;
                     
        final static int CC_RECORD_SIZE = 230;
        final static int NAMELENGTH = 15;
        }   
    public class writeToFile
    {
        public static void writeToFile(RandomAccessFile cc, long recordNum);
        {
            try
            {
                    long recordNum;
              cc.seek( recordNum * CC_RECORD_SIZE);
              cc.writeChars(firstname, NAMELENGTH);   
            }
                catch (IOException exc)
              {
                  System.out.println("While wrtiting " + exc.toString());
              }
        }
    String setLength (String s, int len)
          {
            StringBuffer sb = new StringBuffer(s);
            sb.setLength(len);
            return sb.toString();
        }
   
    void create (RandomAccessFile cc) throws IOException
    {
        Player thisRec = new Player();
        for (int c=0; c<2; c++)
        {
            thisRec.firstname = JTextfield();
        }
    }   
}
}


//****************************************************************
// AddPlayerPanel.java                 Author: Kasper Weis
//
// Shows the add panel.
//****************************************************************


  import java.awt.*;
  import javax.swing.*;
  import java.io.*;
  import java.awt.event.*;
       
    public class AddPlayerPanel extends JPanel //implements ActionListener
  {
 
      JButton Submit = new JButton ("Save");
      RandomAccessFile cc = new RandomAccessFile("cc.dat","rw");
       
      public AddPlayerPanel() throws IOException
      {
        setBackground (Color.white);
        setLayout (new GridLayout (2, 2));
     
        JLabel Home = new JLabel ("Fill in the following fields");
        JLabel firstnamelabel = new JLabel ("First name:");
        JTextField firstname = new JTextField ();


     
      //first row
        add(Home);
        add(Submit);
     
      //second row
        add(firstnamelabel);
        add(firstname);
           
   
     
        // Submit.addActionListener(this);
     
      }
 
    /*  public void actionPerformed(ActionEvent e)
      {
        if(e.getSource() == Submit)
        {     
            writeToFile
        }
      }*/
     
  }
Avatar billede arne_v Ekspert
13. februar 2005 - 23:43 #1
Prøv noget a la:

* GuiInterface main sender cc med over til AddPlayerPanel constructor

* AddPlayerPanel constructor gemmer den reference i en instans variabel

* AddPlayerPanel actionPerformed laver et Player objekt udfra data

* AddPlayerPanel actionPerformed kalder writeToFile writeToFile med den
  gemte reference til cc og det nye Player objekt
Avatar billede arne_v Ekspert
25. februar 2005 - 20:28 #2
OK ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester