0

データベースから抽出した JTable 内のユーザーのリストを表示する 1 つのタブと、ユーザーの詳細を編集してデータベースに保存する JTextFields を表示する別のタブがあります。

ユーザー固有の機能の 1 つは、選択された行に応じて JTable から取得できる userID(Integer) です。

今、私はそのユーザーIDを使用し、JTextFieldsにデータベースからのデータを入力して編集できるようにしたいので、UIの下に新しい値を保存します(画像を投稿できません)

基本的には、2 つのタブ間で整数変数を共有する方法です。

4

2 に答える 2

3
  • JTableを使用してJFrameを作成します( JScrollPane内) 。

  • JMenuItemsを含むJPopupをJTable

  • ListSelectionListener.SINGLE...をオーバーライドして複数選択を回避する

  • JTextComponentsでJDialogを作成する

  • JDialog一度だけ作成し、それを からの別のイベントに再利用しますJPopup

  • JDialog#setDefaultCloseOperationを HIDE_ON_CLOSE にオーバーライドすると、setVisible(true/false)

  • 選択した行からデータを取得し、 に必要な情報を入力してからJTextComponents、ラップされたJDialog呼び出しを行いますJDialog#setVisible(true)invokeLater()

  • put there JButtons(cancel and save) with JDBCstatement UPDATE ....、put thereboolean変数をJDBCからの成功を表す、

  • 成功すると、更新XxxTableModelしてから非表示にしますJDialog

  • Swing GUI に対するすべての更新 ( JTableXxxTableModel) は、EDT で行う必要があります。

于 2012-10-24T08:10:17.507 に答える
1

タブ間の通信には独自のメカニズムが必要です。たとえば、最初のタブで 2 番目のタブの参照を持つことができるため、テーブルで行が選択されたときに、2 番目のコンポーネントで特定のメソッドを呼び出すことができます。それらを分離したい場合は、2 番目のコンポーネントが実装し、それ自体を最初のコンポーネントのリスナーとして追加するリスナー インターフェイスを追加できます。

于 2012-10-24T08:03:29.040 に答える