2014-04-16 5 views
0

Я новичок в кодировании, и я стараюсь изо всех сил, но я пытаюсь заставить gui представить имя, а затем поп-окном сказать: «Ваше имя:« Я знаю, что я я пропустил что-то очевидное, поэтому, пожалуйста, будьте спокойны.Передача имени в действии

public class Frame1 extends JFrame { 
    private JPanel panel; 
    private JTextField NametextField; 

    public Frame1() { 
     setTitle("Confirm Name"); 
     getContentPane().setLayout(null); 
     JLabel lblEnterName = new JLabel("Enter Name:"); 
     lblEnterName.setBounds(10, 22, 83, 14); 
     getContentPane().add(lblEnterName); 
     NametextField = new JTextField(); 
     NametextField.setBounds(10, 47, 274, 20); 
     getContentPane().add(NametextField); 
     NametextField.setColumns(10); 
     JButton btnNewButton = new JButton("Submit"); 
     btnNewButton.addActionListener(new Frame2()); 
     panel = new JPanel(); 
     add(panel); 
     setVisible(true); 
     btnNewButton.setBounds(20, 78, 89, 23); 
     getContentPane().add(btnNewButton); 
    } 

    private class Frame2 implements ActionListener { 
     public void actionPerformed(ActionEvent e) { 
      String actionCommand = e.getActionCommand(); 
      if (actionCommand.contains(getName())); { 
       JOptionPane.showInputDialog("Your name is: " + NametextField); 
      } 
     } 

    public static void main(String[] args) { 
    } 
+0

Вашего 'главных()' не делает. Поместите 'new Frame1();' там, и если у вас нет ошибок, вы увидите результат. –

+0

где вы получаете имя() определение? –

+0

Вы пишете слишком много кодов, чтобы делать то, что вы хотели сделать. – user3437460

ответ

0
JOptionPane.showInputDialog("Your name is: " + NametextField); 

Вы в основном говорят "Ваше имя это текстовое поле объекта". Вы хотите использовать getText() метод текстового поля, чтобы получить фактический текст

NametextField.getText() 

  • Примечания, if (actionCommand.contains(getName())) выглядит очень подозрительный мне. Я не уверен, что это то, что вы хотите, хотя я понятия не имею, что возвращает getName(). Я думаю, вы хотите проверить, равна ли команда действия команде действия кнопки, которую вы хотите проверить. В этом случае вы хотите if ("Submit.equals(actionCommand))

  • Также обратите внимание, как отметил @Takendarkk, то ; после вашей скобка отрицая if заявление, в результате чего действие, которое должно быть выполнено, или нет, если это верное утверждение.

  • Также обратите внимание, как указал @MadProgrammer, держаться подальше от нулевого макета. Научитесь использовать LayoutManagers и дайте им сделать выбор и позиционирование для вас. См. Больше на Laying out Components Withing a Container

  • Также обратите внимание, что вы должны придерживаться соглашения об именовании Java. Имена переменных не начинаются с прописными буквами, с помощью верблюда корпуса: NametextFieldnameTextField

+0

Благодарим за помощь! – nate44dogg

Смежные вопросы