2016-07-22 2 views
0

Так что я должен взять строку ввода из графического интерфейса с помощью Textfield и сделать его показать в PDF-документ, когда я использую ActionListener:Java: Любой способ сохранить строку ввода в формате PDF

b1[0].addActionListener(new ActionListener(){ 
public void actionPerformed(ActionEvent arg0) 
{ 
    s=tf1[0].getText(); 
} 
}); 

Когда я запустите gui и введите в tf1 и нажмите b1, он должен сохранить его справа? Но он этого не делает, однако, если я просто hardcode s="string", это отображается в pdf. Есть идеи?

забыл упомянуть, я использую IText так единственная проблема, я имею в том, что String s не получает спасается от TextField

и код для actionlistener класса, если вы хотите:

public class GUI { 
public static String s; 
public static void gui(){ 

    { 
     try{ 
     String File_Name="C:/Users/Ray/Desktop/test.txt"; 
     ReadFile rf=new ReadFile(File_Name); 
     JFrame f1=new JFrame("Maintest"); 
     JPanel p1=new JPanel(); 
     JPanel p2=new JPanel(); 
     final String[] aryLines=rf.OpenFile(); 
     final JTextField tf1[]=new JTextField[22]; 
     JButton []b1=new JButton[6]; 
     String bNames="OK"; 
     final JTextField tf2[]=new JTextField[aryLines.length]; 
     f1.setSize(200,450); 


     JLabel l1[]=new JLabel[20]; 

     for (int i=0; i < aryLines.length; i++) 
     { 
      b1[i]=new JButton(bNames); 
      l1[i]=new JLabel("Enter Serial# for "+ aryLines[i]); 

      p1.add(l1[i]);p1.add(tf1[i] = new JTextField());p1.add(b1[i]); 
     } 


      p1.setLayout(new BoxLayout(p1,BoxLayout.PAGE_AXIS)); 

      f1.add(p1,BorderLayout.WEST); 



       b1[0].addActionListener(new ActionListener(){ 
       public void actionPerformed(ActionEvent arg0) 
       { 
        s=""+tf1[0].getText(); 
        System.out.println(s); 
       } 
       }); 

      f1.show(); 
     } 

      catch(Exception e) 
      { 
       System.out.print(e); 
      } 
    } 
} 
} 
+0

у вас возникли проблемы? можете ли вы использовать внешние библиотеки как [itext] (http://itextpdf.com/)? –

+0

попробуйте отладить и посмотрите, действительно ли tf1 [0] .getText() получает данные из текстового поля. – optimus

+0

Это может помочь вам: http://howtodoinjava.com/apache-commons/create-pdf-files-in-java-itext-tutorial/ –

ответ

1

Извините, что я не могу ответить более подробно, но вы можете проверить, работает ли tf1[0].getText(). Просто положите System.out.println("Text: "tf1[0].getText()); в ваш ActionListener. Я уверен, что это будет null или «Text:». Для дальнейшей помощи вам нужно будет предоставить больше кода.

Please take a look at this link

+0

Я добавил это, а затем добавил «ха-ха» в текстовое поле gui, выход был Text: haha, поэтому я думаю, что он принимает входные данные, но почему это не так затем сохранить это в s – Commongrate

+0

Это действительно странно. Возможно, попробуйте его с помощью String.valueOf (tf1 [0] .getText()). Не могли бы вы предоставить больше кода? Также добавьте значениеOf в System.out.println(). –

+0

Я отредактировал мое сообщение для кода actionlistener – Commongrate