2013-12-14 5 views
0

Итак, мы должны сделать экран бронирования для нашей авиакомпании. После того, как пользователь вводит свою информацию и нажимает на «Сохранить мой код», необходимо показать ей информацию в отдельном фрейме. У меня установлен фрейм, мне просто нужно передать информацию в JTextField в фрейм на JLabel. Я слышал, что мне нужно превратить его в переменную, чтобы я мог использовать ее в нескольких местах. Я новичок в Java, поэтому, пожалуйста, не используйте слова, которые, возможно, не знакомы. Спасибо, и вот мой код. У меня 3 класса.Как перенести данные в JTextField в JLabel?

Первый класс:

import javax.swing.JFrame; 
import javax.swing.JPanel; 
public class TicketMan { 
public static void main(String[] args) { 
    JFrame frame = new JFrame ("Airport"); 
    frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); 
    TicketManBot panel = new TicketManBot(); 
    frame.getContentPane().add(panel); 

    frame.pack(); 
    frame.setVisible(true); } } 

второго класса (класс поля находятся на

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*; 
import java.util.Random; 


public class TicketManBot extends JPanel { 


private JLabel name; 
private JLabel dest; 
private JLabel depc; 
private JLabel dept; 
private JLabel seat; 
private JButton b; 


Random rand = new Random(); 

private JTextField namef, destf, depcf, deptf; 


public TicketManBot() 

{ 



name = new JLabel ("Enter passenger's name:"); 
dest = new JLabel ("Destination: "); 
depc = new JLabel ("Departure city: "); 
dept = new JLabel ("Departure time: "); 
seat = new JLabel ("Seat Number: " + rand.nextInt(100)); 

b = new JButton ("Make Reservation"); 

b.addActionListener (new results()); 
// the fields I need to move 
namef = new JTextField (10); 
destf = new JTextField (10); 
depcf = new JTextField (10); 
deptf = new JTextField (10);   

add (name); 
add (namef); 
add (dest); 
add (destf); 
add (depc); 
add (depcf); 
add (dept); 
add (deptf); 
add (seat); 
add (b); 


setPreferredSize (new Dimension(200, 300)); 
setBackground (Color.gray);   
} 
private class results implements ActionListener 
{ 
public void actionPerformed (ActionEvent event) 
{ 
    int resultLabel; 

    String text = namef.getText();  

    JFrame results = new JFrame("Thank you for flying with JJ Air"); 
    results.setVisible(true); 
    results.setSize (200, 300); 
// I need to move the fields up there in front of these VVVVVV 
    JLabel nr = new JLabel ("Name of the passenger:"); 
    JLabel dr = new JLabel ("Destination:"); 
    JLabel depr = new JLabel ("Departure city:"); 
    JLabel dpr = new JLabel ("Departure time:"); 
    JLabel sr = new JLabel ("Seat number:"); 
    JLabel t = new JLabel ("Thank you for flying with us"); 
    JLabel label = new JLabel (""); 
    JPanel panel = new JPanel(); 
    results.add(panel); 
    panel.add (nr); 
    panel.add (dr); 
    panel.add (depr); 
    panel.add (dpr); 
    panel.add (sr); 
    panel.add (t); 
} 
} 
} 

третьего класса:.

import javax.swing.JPanel; 
import java.awt.*; 
import java.awt.event.*; 

public class results extends JPanel { 

} 
+0

1) Чтобы лучше помочь, опубликуйте [SSCCE] (http://sscce.org/). 2) Единственная пустая строка пробела в исходном коде * всегда * достаточно. Пустые строки после '{' или before '}' также типично избыточны. –

+1

'' Я новичок в Java, поэтому, пожалуйста, не используйте слова, которые, возможно, не знакомы ».' - Не могли бы вы перечислить слова, с которыми вы, возможно, не знакомы? Возможно, вам лучше попросить разъяснить любой ответ, который вас смущает. :/ –

ответ

2
jLabel.setText(jTextField.getText()); 

Где JLabel ваша метка и jTextField ваше текстовое поле.

Например:

JLabel nr = new JLabel ("Name of the passenger:"+Namef.getText()); 

Вы должны прочитать о руководящих принципах кодирования стиля Java по пути, это поможет сделать ваш код более удобным для чтения другим.

+0

Но где именно добавить это? – Renox

+0

В точке вашего кода, где вы хотите скопировать текст через ... –

+0

Например, мне нужно, чтобы пользователь вводил имя «Namef» для совместного использования с «nr» после имени пассажира. Можете ли вы показать мне пример. Я в этом плохой. Извините – Renox

0

Jlabel - это ярлык, на который вы хотите установить текст. JTextField является tetxfield вы хотите получить информацию от

jLabel.setText(jTextField.getText()); 

Кроме того, что вы могли бы сделать, это, возможно, собрать всю информацию от всех TextFields в массив, а затем использовать его для отображения любой из массива в желаемом JLabel. Или даже лучше использовать Array для отображения данных в красивой таблице.

+0

Но где именно добавить это? – Renox

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