2014-10-31 41 views
0

我有两个摆动框架。第一帧将包含一个按钮。当我们点击按钮时,我们将会得到另一个框架,其中有五个标签(这是一个类的变量),旁边是文本框,还有一个提交按钮。用户将输入值并点击提交按钮。 我的问题是当用户点击提交按钮时,如何从第二帧中检索值.i有代码如blelow。如何检索摆动表格值

public class Form extends JFrame implements ActionListener { 
    JPanel panel = new JPanel(); 
    JFrame frame = new JFrame("New frame"); 
    JPanel panel2 = new JPanel(); 
    JButton button = new JButton("add"); 
    JButton button2 = new JButton("Submit"); 
    JLabel label; 
    JTextField textfield; 

    public Form() { 
     setLayout(new BorderLayout()); 
     panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS)); 
     panel.setPreferredSize(new Dimension(300, 200)); 
     button.addActionListener(this); 
     add(panel, BorderLayout.CENTER); 
     add(button, BorderLayout.SOUTH); 

    } 

    public static void main(String[] a) { 
     Form s = new Form(); 
     s.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
     s.pack(); 
     s.setVisible(true); 
    } 

    @Override 
    public void actionPerformed(ActionEvent arg0) { 
     dispose(); 
     panel2.setLayout(new FlowLayout()); 
     panel2.setPreferredSize(new Dimension(1000, 1000)); 
     final Field[] fields = Employee.class.getFields(); 
     for (Field temp : fields) { 
      label = new JLabel(temp.getName()); 
      label.setBounds(20, 50, 100, 20); 
      textfield = new JTextField(20); 
      textfield.setBounds(140, 50, 100, 20); 
      panel2.add(label); 
      panel2.add(textfield); 
     } 
     frame.add(panel2); 
     frame.setSize(290, 300); 
     frame.setVisible(true); 
     button2.setSize(20, 30); 
     frame.add(button2, BorderLayout.SOUTH); 

     repaint(); 
     revalidate(); 

     button2.addActionListener(new ActionListener() { 

      @Override 
      public void actionPerformed(ActionEvent arg0) { 

      } 
     }); 

    } 

} 
+0

其实我不知道有多少文本字段和多少标签被产生,怎么我正在动态生成他们看到How to Make Dialogs(一类依赖于无。属性)。所以在点击提交按钮之后,我想要提取值。 – yashwanth 2014-10-31 06:34:01

+0

Java GUI必须在不同的操作系统,屏幕尺寸,屏幕分辨率等方面工作。因此,它们不利于像素的完美布局。请使用布局管理器或[它们的组合](http://stackoverflow.com/a/5630271/418556)以及[white space]的布局填充和边框(http://stackoverflow.com/a/17874718/ 418556)。 – 2014-11-02 01:56:31

回答

2

开始采取看看The Use of Multiple JFrames, Good/Bad Practice?

而不是使用第二帧的,你应该使用一个模式对话框,其中,可见时,会在这一点上,直到它的配置停止你的程序的执行,这时它会返回,你可以从中提取你想要的值。

更多细节