Jak wyświetlić dane w oknie ramki a nie w konsoli??

Odpowiedz Nowy wątek
wormboy
2006-12-19 15:23
wormboy
0

Witam. Chciałem się zapytać, jaka funkcja spowodować aby wszystkie dane które są wyświetlane w konsoli były wyświetlane w oknie programu. Dopiero się uczę i zrobiłem na razie coś takiego:
Programik który na gorze ramki ma pare guzików, których naciśniecie powoduje wyświetlenie się jakiegoś tekstu w oknie. No ale problem mam taki że po naciśnięciu guzika tekst wyświetla się w konsoli a nie w zbudowanym przeze mnie polu tekstowym:)
Byłbym wdzięczny gdyby ktoś podpowiedział mi jaka funkcja przekieruje strumień wyjścia do interesującego mnie miejsca np do tego pola tekstowego.
Z góry dziekuje za pomoc i pozdrawiam wszystkich programistów :)

Pozostało 580 znaków

2006-12-19 15:46

Rejestracja: 13 lat temu

Ostatnio: 13 lat temu

0

Heh
Domyślam się, że urzywasz JTextArea. Jesli tak to wywołujesz na rzecz obiektu metode setText(text_do_stawienia) albo append(text_do_stawieniea).
Pierwsza ustawia rządany tekst a druga dołacza tekst.

Pozdrawiam BookaYashee

Pozostało 580 znaków

woy-s
2008-06-08 00:16
woy-s
0

Witam,

po utworzeniu wątku niestety funkcja append nie działa. Wcześniej, kiedy kod był w funkcji wszystko śmigało. Jakaś rada? Dodam, że System.out.println() wyświetla tekst w konsoli

        System.out.println("cos");
        Text.append("cos");

Pozostało 580 znaków

to znowu ja
2008-06-08 10:34
to znowu ja
0

problem w części rozwiązany. JTextArea nie był inicjowany podczas uruchamiania wątka.
Tylko, że teraz nie wiem jak zrobić, aby ramka z Text nie uruchamiała się za każdym razem, gdy zostanie uruchomiony wątek.
Może dodam trochę kodu:

plik implementacja.java


public class implementacja extends baza_autPOA  implements Runnable  {
    private ORB orb;
     JTextArea Text = new javax.swing.JTextArea();

    public void run(){
        //cos       
        initComponents(); // Aby To nie odpalalo się wiele razy.. tylko raz
        System.out.println("sajhda2");       
        Text.append("------------"+"\n");
 }
    public implementacja(double ilosc,Auto car){

        System.out.println("cos");
        Text.append("cos");
        }

     }  
    public implementacja (){

     };
     private void initComponents(){
      JFrame ramka = new JFrame();

     JScrollPane jScrollPane2 = new javax.swing.JScrollPane();
     ramka.getContentPane().add(Text);
        ramka.getContentPane().add(jScrollPane2);
        ramka.setSize(300,300);
        ramka.setTitle("serwer");
        Text.setAutoscrolls(true);
        jScrollPane2.setViewportView(Text);
        ramka.setVisible(true);
        ramka.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);  
     }

public double olej(double ilosc,Auto car){

//odpalam thread1
       (new Thread(new implementacja(ilosc,car))).start();

    return 0;
    }

}//koniec klasy

Dodam jeszcze, że na serwerze mam:

plik Server.java

implementacja timeServant = new implementacja();

A w kliencie odpalam funkcje poprzez serwer, która znajduje się w pliku implementacja

m_server.olej(losuj, nowe_auto);

Z góry dzięki.

Pozostało 580 znaków

2008-06-08 16:13

Rejestracja: 13 lat temu

Ostatnio: 4 lata temu

0

Zastosuj wzorzec singleton:
http://en.wikipedia.org/wiki/Singleton_pattern#Java_5_solution


Registered Linux user #456405 | SCJP 6 | SCWCD 5 | SCBCD 5

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0