|
Informatyka UJ forum Rocznik 2005 - czyli najlepsze forum w sieci
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
chlebek
alkoholik
Dołączył: 04 Lut 2006
Posty: 556
Przeczytał: 0 tematów
Skąd: Siedlce\Kraków
|
Wysłany: Śro 16:57, 17 Sty 2007 Temat postu: problem z Socketami |
|
|
Czy ktos kto lepiej zna jave mogly zerknac na ten kod i powiedziec czemu sie zawiesza po nacisnieniu przycisku i jak to poprawic, bo ja juz siedze 2 h i nic;/ ( i metoda wrzucenia wszystko pod jedna klas odpada )
Kod: | import java.net.*;
import java.io.*;
import java.util.LinkedList;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
class serwis
{
public static void main( String arts[] )
{
cos be= new cos();
}
}
class cos
{
ServerSocket gniazdoSerwera=null;
Socket gniazdo= null;
mis tak;
public cos()
{
tak = new mis();
}
void go()
{
try
{
gniazdoSerwera= new ServerSocket( 6776 );
}
catch( IOException e )
{
tak.dodaj("OK");
}
try
{
gniazdo= gniazdoSerwera.accept();
}
catch( Exception e )
{
tak.dodaj("OK ");
}
//nic nie robi
tak.dodaj("Nadeszlo polaczenie ");
}
class mis extends JFrame
{
Container kontener;
JButton przycisk;
JTextArea text;
JPanel panel;
public mis()
{
kontener= getContentPane();
text= new JTextArea();
text.setBounds( 100, 100, 200, 200 );
kontener.setLayout( null );
kontener.add( text );
przycisk= new JButton( "fs" );
przycisk.setBounds( 200, 200, 200, 200 );
przycisk.addActionListener( new ActionListener()
{
public void actionPerformed( ActionEvent e )
{
go();
}
});
kontener.add( przycisk );
setSize( 1000, 1000 );
setVisible( true );
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
}
void dodaj( String tekst )
{
text.append(tekst + "\n" );
}
}
} |
|
|
Powrót do góry |
|
|
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
exeman
Mistrz grilla
Dołączył: 03 Lut 2006
Posty: 1603
Przeczytał: 0 tematów
Skąd: znienacka
|
Wysłany: Śro 17:02, 17 Sty 2007 Temat postu: |
|
|
Nie kodzilem nigdy w Javie socketow, ale wyglada na to, ze accept socketowy jest blokujący, zatem przywiesi Ci program zanim nie nadejdzie polaczenie i go nie acceptnie. Zrob to na osobny watku i bedzie ok.
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
chlebek
alkoholik
Dołączył: 04 Lut 2006
Posty: 556
Przeczytał: 0 tematów
Skąd: Siedlce\Kraków
|
Wysłany: Nie 19:40, 21 Sty 2007 Temat postu: |
|
|
dzieki pomoglo, ale mam kolejny problem niby prosty, ale jedank nie dla mnie:
Jak tworze 2 obszary JTextArea i w jednym wysylam wiadomosc w w drugim wyswietlam to robie cos takiego:
drugi.append( pierwszy.getTex() );
pierwszy.setText("");
i wszystko jest podpiete pod klawisz ENTER i teraz kursor ustawia mi sie w polu pierwszy w 2 lini( tylko po kolejnych nacisnieciach entera nadal jest w 2 ), wiec jak zrobic zeby byl na poczatku okna pierwszy po wcisniciu ENTER ??
probowalem juz wszystkiego( google nie pomoglo ) ;/
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
jagm
zielony żul
Dołączył: 01 Lut 2006
Posty: 1421
Przeczytał: 0 tematów
|
Wysłany: Nie 19:46, 21 Sty 2007 Temat postu: |
|
|
nie za bardzo rozumiem, co masz na mysli, ale myślę, że będzie chodziło o coś takiego:
ja sprawdzałem, czy wciśnięty klawisz to enter i jeśli tak, to dodawałem tekst do okna wiadomości, a później w obsłudze tych klawiszy:
co powoduje, że ignoruje tego entera ;]
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
chlebek
alkoholik
Dołączył: 04 Lut 2006
Posty: 556
Przeczytał: 0 tematów
Skąd: Siedlce\Kraków
|
Wysłany: Nie 20:41, 21 Sty 2007 Temat postu: |
|
|
dzieki dziala, ale jeszcze cos sie wali, bo na ekranie wyswietla napis i pusta linie pod nim
i tez nie wiem jak to obejsc, tak jakby jednokrotne wcisniecie enter wykonywalo sie 2 razy, ta sie to obejsc ?
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
jagm
zielony żul
Dołączył: 01 Lut 2006
Posty: 1421
Przeczytał: 0 tematów
|
Wysłany: Nie 20:52, 21 Sty 2007 Temat postu: |
|
|
eh ;] nie wiem jak to robisz, ale u mnie działało wszystko ok ;] a robisz to jako KeyPressed?
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
chlebek
alkoholik
Dołączył: 04 Lut 2006
Posty: 556
Przeczytał: 0 tematów
Skąd: Siedlce\Kraków
|
Wysłany: Nie 21:01, 21 Sty 2007 Temat postu: |
|
|
tak, ale z tego co patrze to on jakby zapisuje znak newline na koncu tekstu bo jak robie
text.append( konsola.getText() + "cos " )
to wyswietla mi tekst znajdujacay sie w konsola i w nastepnej lini " cos" ( czemu w nastepnej ;/)
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
jagm
zielony żul
Dołączył: 01 Lut 2006
Posty: 1421
Przeczytał: 0 tematów
|
Wysłany: Nie 21:20, 21 Sty 2007 Temat postu: |
|
|
to może ten append() coś pieprzy, bo u mnie getText() działa normalnie
chyba że może sam dodajesz tam gdzieś "\n" ;] albo źle dałeś e.consume() ;]
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
chlebek
alkoholik
Dołączył: 04 Lut 2006
Posty: 556
Przeczytał: 0 tematów
Skąd: Siedlce\Kraków
|
Wysłany: Nie 21:53, 21 Sty 2007 Temat postu: |
|
|
e.consume() dodaje w metodzie keyPressed
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
jagm
zielony żul
Dołączył: 01 Lut 2006
Posty: 1421
Przeczytał: 0 tematów
|
Wysłany: Nie 22:09, 21 Sty 2007 Temat postu: |
|
|
to nie wiem, co to może być. jeśli to Ci jakoś pomoże, to ja mam coś takiego:
Kod: | public void keyPressed(KeyEvent e) {
if(e.getKeyCode()==KeyEvent.VK_ENTER) {
if(ta.getText().length()>0) {
Message m = new Message(ta.getText(),myLogin,login);
showMessage(m);
// wysylanie wiadomosci
}
e.consume();
ta.setText("");
}
} |
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
chlebek
alkoholik
Dołączył: 04 Lut 2006
Posty: 556
Przeczytał: 0 tematów
Skąd: Siedlce\Kraków
|
Wysłany: Nie 22:31, 21 Sty 2007 Temat postu: |
|
|
no jak to wrzucilem to dziala, dzieki, nie wiem co sie jebalo, moze w zlej czesci kodu wrzucilem ten consume, ale teraz smiga ;]
|
|
Powrót do góry |
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
|