2015-10-14 42 views
1

也许这已经被问过一次,但我有点卡住了,无法自己找到解决方案。 我从第一个按钮使用文本字段获得文本。现在我需要将这个文本放入第二个按钮或文本文件中。Java Swing将JTextField值移动到第二个按钮中

下面的代码,我知道这个错误。

System.out.println("Author's name: " + newauthor()); 
System.out.println("Book name: " + newbook()); 


import java.awt.GridLayout; 
import java.awt.event.*; 
import java.io.FileNotFoundException; 
import javax.swing.*; 

public class library extends JFrame 
{ 

private JPanel pnl; 

public library() throws FileNotFoundException { 

    pnl = (JPanel) getContentPane(); 
    JPanel panel = new JPanel(); 
    getContentPane().add(panel); 

    panel.setLayout(null); 

    JButton addbutton = new JButton("Add new book"); 
    addbutton.setBounds(75, 30, 150, 30); 
    addbutton.addActionListener(new ActionListener() 
    { 
     public void actionPerformed(ActionEvent event) 
     { 
      JTextField authorfield = new JTextField(15); 
      JTextField bookField = new JTextField(15); 
      JPanel mypanel = new JPanel(new GridLayout(0, 1)); 
      mypanel.add(new JLabel("Type Author's Name and Book name:")); 
      mypanel.add(new JLabel("Author's Name:")); 
      mypanel.add(authorfield); 
      mypanel.add(new JLabel("Book name:")); 
      mypanel.add(bookField); 


      int result = JOptionPane.showConfirmDialog(null, mypanel, 
      "Add a new book", JOptionPane.OK_CANCEL_OPTION); 
      if (result == JOptionPane.OK_OPTION) 
       { 
       String newauthor = authorfield.getText(); 
       String newbook = bookField.getText(); 
       if (!newauthor.isEmpty() && !newbook.isEmpty()) 
         {  
           JOptionPane.showMessageDialog(pnl, "Book "+bookField.getText()+"\nAuthor "+authorfield.getText()+"\nSuccessfully added to the list.", 
           "Book was added.", JOptionPane.INFORMATION_MESSAGE); 


         } 
       else  
         { 
           JOptionPane.showMessageDialog(pnl, "Both must be filled!", 
           "Error", JOptionPane.ERROR_MESSAGE); 
         } 
       } 
     }     
    }); 
    panel.add(addbutton); 


    JButton listbutton = new JButton("List"); 
    listbutton.setBounds(75, 60, 150, 30); 
    panel.add(listbutton); 
    addbutton.addActionListener(new ActionListener() 
     { 
      public void actionPerformed(ActionEvent event) 
       { 

         System.out.println("Author's name: " + newauthor()); 
         System.out.println("Book name: " + newbook()); 
       } 
     }); 
     JButton deletebutton = new JButton("Delete"); 
     deletebutton.setBounds(75, 90, 150, 30); 
     panel.add(deletebutton); 



     setTitle("Library Menu"); 
     setSize(300, 200); 
     setLocationRelativeTo(null); 
     setDefaultCloseOperation(EXIT_ON_CLOSE); 
    } 

    public static void main(String[] args) throws FileNotFoundException { 
      library ex = new library(); 
      ex.setVisible(true); 
    } 
} 
+0

*“..需要将此文本转换为第二个按钮或文本文件。”*这些是两个*非常不同*的要求!你应该为这个问题确定一个或另一个,否则我认为它对于SO来说太“宽泛”。 –

+0

现在我需要把它变成第二个按钮。 –

回答

1

您的代码有许多问题。

1.两者都应该在您的课堂内部进行声明,但不包括您的任何方法。现在

String newauthor = ""; 
String newbook = ""; 

if条件

  if (result == JOptionPane.OK_OPTION) 
       { 
       newauthor = authorfield.getText(); 
       newbook = bookField.getText(); 
       .............................. 

2.

JButton listbutton = new JButton("List"); 
listbutton.setBounds(75, 60, 150, 30); 
panel.add(listbutton); 
listbutton.addActionListener(new ActionListener()// its listbutton not addbutton 
    { 
     public void actionPerformed(ActionEvent event) 
      { 

        System.out.println("Author's name: " + newauthor); 
        System.out.println("Book name: " + newbook); 
      } 
    }); 

两个newauthornewbook是变量。但不是方法。

+0

谢谢。我的addbutton不好。代码有点作品,但现在给我空白。我需要从addbutton文本到列表按钮。 –

+0

只需按照上述2个步骤。它将打印@JustNick – Satya

+0

现在,这是行之有效的。谢谢。 –

相关问题