2017-07-26 44 views
1

私は以下のコードを試しましたが、テーブルはスクロールバーなしで表示されています。 SWTテーブルを水平方向と垂直方向の両方でスクロール可能にすることを助けてください。SWT - テーブルをスクロール可能にする

package snippet; 

import org.eclipse.swt.*; 
import org.eclipse.swt.layout.*; 
import org.eclipse.swt.widgets.*; 

public class Snippet { 

    public static void main(String[] args) { 
     Display display = new Display(); 
     Shell shell = new Shell(display); 

     createUI(shell); 


     shell.pack(); 
     shell.open(); 
     while (!shell.isDisposed()) { 
      if (!display.readAndDispatch()) display.sleep(); 
     } 
     display.dispose(); 
    } 

    private static void createUI(Shell shell) { 
     // TODO Auto-generated method stub 
     GridLayout layout = new GridLayout(1, false); 


     shell.setLayout(layout); 


     Table table = new Table(shell, SWT.BORDER | SWT.FULL_SELECTION|SWT.CHECK|SWT.RESIZE|SWT.SCROLL_PAGE); 
     GridData gd_table = new GridData(SWT.FILL, SWT.FILL, true, true); 
     gd_table.heightHint = 136; 
     gd_table.widthHint = 205; 
     table.setLayoutData(gd_table); 
     table.setHeaderVisible(true); 
     table.setLinesVisible(true); 

     TableColumn tblclmnNewColumn = new TableColumn(table, SWT.NONE); 
     tblclmnNewColumn.setWidth(37);   

     TableColumn tblclmnNewColumn_1 = new TableColumn(table, SWT.NONE); 
     tblclmnNewColumn_1.setWidth(219); 
     tblclmnNewColumn_1.setText("Item ID"); 

     TableColumn tblclmnNewColumn_2 = new TableColumn(table, SWT.NONE); 
     tblclmnNewColumn_2.setWidth(246); 
     tblclmnNewColumn_2.setText("Revision ID"); 

     TableColumn tblclmnNewColumn_3 = new TableColumn(table, SWT.NONE); 
     tblclmnNewColumn_3.setWidth(246); 
     tblclmnNewColumn_3.setText("Vendor Name"); 

     TableColumn tblclmnNewColumn_4 = new TableColumn(table, SWT.NONE); 
     tblclmnNewColumn_4.setWidth(246); 
     tblclmnNewColumn_4.setText("Vendor ID"); 

     for(int i=0;i<10;i++) 
     { 
      TableItem item = new TableItem(table, SWT.NONE); 

      item.setText(1,"item_id"+i); 
      item.setText(2,"item_revision_id"+i); 
      item.setText(3,"object_string"+i); 
     } 

    } 

} 

SWT.SCROLL_PAGEとSWT.SCROLL_LINEの両方を使用しようとしました。この例では両方とも同じ結果を示しています。私はSWTのスクロール可能なウィジェットに関する基本的な理解が不足しています。この点で親切に助けてください。

答えて

3

あなたが探している値はSWT.V_SCROLLSWT.H_SCROLLです。 SWT.SCROLL_PAGE定数をTableコンストラクターの定数で置き換えると、コードは期待通りに機能します。

+0

ありがとうございました。出来た! –

+0

@MohamedIqzas喜んで助けて!解決されていない質問に焦点を当てるのを助けるために、受け入れられたものとしてマーキングすることを検討してください。 – avojak

関連する問題