سوينغ / جافا:كيفية استخدام سلسلة getText وsetText بشكل صحيح

StackOverflow https://stackoverflow.com/questions/5477241

سؤال

أحاول تقديم المدخلات nameField تظهر في أ Label مُسَمًّى label1 بعد Button مُسَمًّى button1 تم النقر عليه.الآن يقول:"txt" وأنا أفهم السبب.لكني لا أعرف كيف يمكنني استخدام السلسلة!هل يمكن لأحد أن يشرح لي ما الذي أفعله بشكل خاطئ وكيفية استخدام هذه السلسلة بشكل صحيح؟

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class thisismytest2 {
    public static void main(String[] args) {

        final JFrame frame = new JFrame();  
        JPanel panel = new JPanel();    
        JTextField nameField = new JTextField("...", 2);    
        JButton button1 = new JButton();
        final JLabel label1 = new JLabel();
        label1.setText("txt");
        label1.setVisible(false);
        String txt = nameField.getText();

        frame.add(panel);
        panel.add(button1);
        panel.add(label1);
        frame.setSize(200,200);
        frame.setVisible(true);
        panel.add(nameField);
        frame.setSize(600,400); 
        nameField.setBounds(400, 40, 400, 30);

        button1.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent arg0) {

                label1.setVisible(true);
            }
        });
        }
        }
هل كانت مفيدة؟

المحلول

أنت تقوم بتعيين نص التسمية قبل النقر فوق الزر على "txt".بدلا من ذلك عند النقر على زر الاتصال setText() على الملصق وتمرير النص من حقل النص.

مثال:

label1.setText(nameField.getText()); 

نصائح أخرى

في طريقة تنفيذ الإجراء، اتصل بـ:

label1.setText(nameField.getText());

بهذه الطريقة، عند النقر على الزر، سيتم تحديث التسمية إلى نص nameField.

ال getText تقوم الطريقة بإرجاع سلسلة، في حين أن setText يتلقى سلسلة، حتى تتمكن من كتابتها مثل label1.setText(nameField.getText()); في مستمعك

قم بإعداد DocumentListener على nameField.عندما يتم تحديث nameField، قم بتحديث التصنيف الخاص بك.

http://download.Oracle.com/javase/1.5.0/docs/api/javax/swing/JTextField.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top