Как я могу создать новую панель в зависимости от того, где дважды щелкнул мой JTable? - PullRequest
1 голос
/ 05 января 2010

Мне нужна помощь в реализации следующего поведения: когда пользователь дважды щелкает строку в JTable on JPanel A - фрагмент кода для этого показано ниже - программа должна перенаправить пользователя на JPanel B. B должен содержать некоторые данные о том, что было в строке JTable.

private void TableMouseClicked(java.awt.event.MouseEvent evt) {
if(evt.getClickCount() == 2){
   System.out.println("Double click");
}
}

Ответы [ 2 ]

1 голос
/ 05 января 2010

Проверить эту тему: http://forums.sun.com/thread.jspa?threadID=366670
По сути, это то же самое, что вы пытаетесь сделать, вы просто хотите реагировать на двойные щелчки мыши, а не на события перемещения мыши.

1 голос
/ 05 января 2010

Что вы имеете в виду, "перенаправить пользователя?"

Если другая панель уже видна, вы можете переключить фокус там (хотя это немного необычное поведение, которое может негативно удивить вашего пользователя), используя setFocus() на второй панели.

Если другая панель не видна, но имеет собственное пространство в графическом интерфейсе, то, я думаю, вы просто сделаете ее видимой. Если он должен перекрывать панель, на которой пользователь только что щелкнул, то вы хотите использовать CardLayout для отображения двух панелей поочередно в одном и том же месте.

...