皆様初めまして。 java SWTを使って、ウインドウを作成しています。 (やりたい事の一例ですが) 最初、タブ(5択)を描画させてから、その中の1つを選択すると、タブ(5択)を消して その後、同じ位置にタブ(3択)を描画するなどのことを行いたいと思っています。 ところが、実行しても何も変化が無く、shellの縁をマウスでドラッグしてサイズ変更しようとした時、 ようやく変化があるのですが、タブ(5択)は残ったままでその下にタブ(3択)が追加で 現れる状況です。 shell.dispose(); を行ってから新たにshellを作り直すと可能なのですが、shellが消えたり再生されたりという のがネックとなるため現実的ではありません。 いったんshellの描画を一掃(全てクリア)して、タブ(5択)描画が消えてからタブ(3択)が 表示されるようにしたいのですが、どういう処理を書けばいいでしょうか? shell.redraw(); shell.update(); とかも試してみたのですが、何も変化がありませんでした。 以下に試しているソースを記載させて頂きます。 //最初のタブ(5択)描画 CTabFolder tabFolder = new CTabFolder(shell,SWT.NONE); CTabItem selection = tabFolder.getSelection(); GridData gridData = new GridData(GridData.FILL_HORIZONTAL); gridData.horizontalAlignment = GridData.FILL; gridData.horizontalSpan = 5; tabFolder.setLayoutData(gridData); // 1つめのタブアイテムを作成 CTabItem tabItem1 = new CTabItem(tabFolder,SWT.NONE); tabItem1.setText("GROUP 1"); // 2つめのタブアイテムを作成 CTabItem tabItem2 = new CTabItem(tabFolder,SWT.NONE); tabItem2.setText("GROUP 2"); // 3つめのタブアイテムを作成 CTabItem tabItem3 = new CTabItem(tabFolder,SWT.NONE); tabItem3.setText("GROUP 3"); // 4つめのタブアイテムを作成 CTabItem tabItem4 = new CTabItem(tabFolder,SWT.NONE); tabItem4.setText("GROUP 4"); // 5つめのタブアイテムを作成 CTabItem tabItem5 = new CTabItem(tabFolder,SWT.NONE); tabItem5.setText("GROUP 5"); if(該当タブ選択){ //ここで最初のタブ(5択)描画を消去する処理を置きたいです。 //次に置き換えたいタブ(3択)の描画処理 //… } 最初のタブ(5択)描画の後は、必ずしも同じくタブ(3択)に置き換えたいという訳でもなく、 別にボタンや別描画なども行えるようにしていきたいので、やはり最初のタブ(5択)描画は いったん消去したいです。 アドバイスを頂けますよう、何とぞ宜しくお願い致します。
↧