problem JDialog, JAVA/MySql - kodowanie

0

Nie wiem czemu przy wyświetlaniu 'showInputDialog' dla dialogu poniżej program mi się zawiesza, kiedy testowałem to na mniejszym testowym programie wszystko było ok.
/* Tylko nie piszcie, żeby użyć JOptionPane */

class MyDialog extends JDialog implements ActionListener
{
private JButton ok;
private JButton cancel;
private int status=0;
...
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==cancel)
{
this.dispose();
}
else if(e.getSource()==ok)
{
status=...;
this.dispose();
}
}
public int showInputDialog(String title)
{
this.setTitle(title);
...
this.show();
while(this.isShowing());
return status;
}
public MyDialog(Frame owner)
{
super(owner);
...
}
}


Mam jeszcze jedno pytanie odnośnie Java/Mysql
mam baze danych z charsetem latin2 i program doń w javie pod Windowsem
w javie konwertuje text na cp852 /przy cp1250 lub ISO-8859-2 mam krzaczki/
i przy insercie z cp852 na latin2

public String toPl(String sql) {
...
return out = new String(sql.trim().getBytes("latin2"), "cp852");
}
public String toLatin2(String sql) {
...
return out = new String(sql.trim().getBytes("cp852"), "latin2");
}

i wszystko ładnie działa dopóki odpalam to przez kompilator javy sdk,
natomiast kiedy chcĘ to zrobić to przez jave re zpod JAR wyrzuca mi wyjątki przy
próbie konwersji na cp852.

0
  1. Okno, z którego nie można wrócić na poprzednie ma włączany tryb modalny. Tak się dzieje w JOptionPane. Rozwiązanie: w konstruktorze swojego okna daj setModal(true). Nie wiem, gdzie znalazłeś tą pętlę czekającą - tego się nie stosuje.
  2. Jeśli twój program wyrzuca jakieś błedy to podaj dokładnie jakie - ich treść mówi w czym jest problem. Dzięki temu inni użytkownicy nie będą musieli zgadywać co jest nie tak.
0

Dzięki setModal(true) wystarczyło (jestem dopiero początkujący i jak czegoś nie wiem to kombinuje). Co do kodowania wyrzuca mi wyjątek UnsupportedEncodingException o treści Cp852, co oznacza chyba, że java re nie obsługuje togo kodowania.

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