Προς το περιεχόμενο

JTextArea [Java]


Προτεινόμενες αναρτήσεις

Δημοσ.

Δινω μέσα απο ενα ui ενα κείμενο και θελω να αποθηκευεται σε μια μεταβλητη string.

O κωδικας ειναι ο παρακατω και ειναι παρα πολυ απλος αλλα για καποιο λογο δεν

περνει την σωστη τιμη η μεταβλητη string (δεν περνει καμια τιμη συγκεκριμενα)


public class test extends JFrame {

	private JTextArea textArea; 
    private JScrollPane scrollPane; 
    private String textData = "";
    
    public test() {
        
    	textArea = new JTextArea(8, 40);
    	scrollPane = new JScrollPane(textArea);
        setTitle("Get Text From User");
        setSize(500, 300);
        
        Container contentPane = getContentPane();

        JPanel panel = new JPanel();

        JButton replaceButton = new JButton("Ok");
        panel.add(replaceButton);
        replaceButton.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent evt) {
             textData = textArea.getText();   // εδω η textData δεν περνει τιμη          
              dispose();
          }
        });
        contentPane.add(panel, "South");
        contentPane.add(scrollPane, "Center");
        setVisible(true);
    }
    
    
    public String getTextData(){
    	return this.textData ;
    }
 
   public static void main(String [] lala ){
	   
	   test i = new test();
	   System.out.println( i.getTextData() );  
   }
}

Δημοσ.

Ευχαριστώ για την γρηγορη απαντηση.

Μπορω να το κανω να δουλεψει αν αλλαξω εντελως τον κωδικα και δοκιμασω κατι αλλο..Το προβλημα μου ειναι ομως γιατι δεν

δουλευει ετσι οπως το εχω κανει.. Ο κωδικας ειναι παρα πολυ απλος..

Δημοσ.

Εγώ το δοκίμασα βάζοντας μία εκτύπωση της textData ακριβώς μετά το

 

textData = textArea.getText();

 

και πήρε τιμή.

 

 

 

import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class test extends JFrame {

    private JTextArea textArea; 
    private JScrollPane scrollPane; 
    private String textData = "";
    
    public test() {
        
    	textArea = new JTextArea(8, 40);
    	scrollPane = new JScrollPane(textArea);
        setTitle("Get Text From User");
        setSize(500, 300);
        
        Container contentPane = getContentPane();

        JPanel panel = new JPanel();

        JButton replaceButton = new JButton("Ok");
        panel.add(replaceButton);
        replaceButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                    textData = textArea.getText();   // εδω η textData δεν περνει τιμη          
                    System.out.println(textData);
                    dispose();
            }
        });
        contentPane.add(panel, "South");
        contentPane.add(scrollPane, "Center");
        setVisible(true);
    }
    
    
    public String getTextData(){
    	return this.textData ;
    }
 
    public static void main(String [] lala ){
	   
        test i = new test();
        System.out.println( i.getTextData() );  
    }
} 

 

 

Δημοσ.

Εδω είναι το κουλό.. Αν βαλεις ενα print το περνει κανονικα. Το προβλημα ειναι οτι δεν δινει τιμη στην μεταβλητη της κλάσης :\

 

Ειναι τελειως παραλογο αυτο, το ξερω.. Το προβλημα θα ειναι σε κατι εντελως ηλιθιο

Δημοσ.

public static void main(String [] lala ){
    
     test i = new test();
     System.out.println("BLAHBLAH" + i.getTextData() );
}

 

Αν βαλεις κατι ακομα στο println σου, θα δεις πως αυτο καλειται ΠΡΙΝ πατησεις το κουμπι. Οποτε γιαυτο δε σου δειχνει τιποτε.


Αυτο που μπορεις να κανεις ειναι αντι για JFrame να χρησιμοποιησεις JDialog που σου δινει δυνατοτητα να το εμφανισεις modal, δηλαδη να ανασταλουν ολες οι λειτουργιες της εφαρμογης οσο το παραθυρο αυτο ειναι ανοικτο (οκ, οχι ακριβως, το υπεραπλουστευσα.... googlare για λεπτομερειες)

 

Οποτε αυτο που μπορεις να γραψεις ειναι 

public class τest extends JDialog{ 
    .....
    
    public τest () {
        
     ...
        setModalityType(ModalityType.APPLICATION_MODAL); 
        setVisible(true);
    }
        
    public String getTextData(){
     return this.textData ;
    }

   public static void main(String [] lala ){
  
  test i = new test();
  System.out.println(i.getTextData() );  
   }
}

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...