`
一纸红颜岂值倾尽天下
  • 浏览: 29200 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

swt 动态切换表格

    博客分类:
  • swt
阅读更多
package com.pcm.chni.equipment.frame;


import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.Tray;
import org.eclipse.swt.widgets.TrayItem;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;

import com.pcm.chni.util.*;

import com.swtdesigner.SWTResourceManager;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Table;
import org.eclipse.jface.viewers.CheckboxTableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;

import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.widgets.Composite;

public class HardwareDong {

	
	public static String errormsg;
	
	protected Shell shell;
	private Table table;
	private Combo combo;
	private Text text_8;
	private Button button_1;
	private Button button_2;
	private Label label_10;
	private Combo combo_1;
	
	
	private CheckboxTableViewer checkboxTableViewer;
	private TableViewerColumn tableViewerColumn;
	private TableViewerColumn tableViewerColumn_1;
	private TableViewerColumn tableViewerColumn_2;
	private TableViewerColumn tableViewerColumn_3;
	private TableViewerColumn tableViewerColumn_4;
	private TableViewerColumn tableViewerColumn_5;
	private TableViewerColumn tableViewerColumn_6;
	private TableViewerColumn tableViewerColumn_7;
	private TableViewerColumn tableViewerColumn_8;
	private TableViewerColumn tableViewerColumn_9;   
	private TableViewerColumn tableViewerColumn_10;  
	private TableViewerColumn tableViewerColumn_11;
	
	
//	private Customer customer;
	
	private Display display;
	
	private ReadRegistry read=new ReadRegistry();
	private Label label;
	private Composite composite;
	private Label label_1;
	
	public HardwareDong(){
		
		
		
	}
	/**
	 * Launch the application.
	 * @param args
	 */
	
	public static void main(String[] args) {
		try {
			HardwareDong window = new HardwareDong();
			window.open();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * Open the window.
	 */
	public void open() {
		display = Display.getDefault();
		createContents();
		shell.open();
		shell.layout();
		
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch()) {
				display.sleep();
			}
		}
	}

	/**
	 * Create contents of the window.
	 */
	protected void createContents() {

		shell = new Shell(display,SWT.NONE|SWT.NO_TRIM|SWT.MIN);
		shell.setSize(862, 550);

		
		shell.setText("设备数据读取");

		FrameCenter.setdileCenter(shell);
		
		composite = new Composite(shell, SWT.NONE);
		composite.setBounds(0, 0, 869, 559);
		composite.setBackgroundImage(SWTResourceManager.getImage("image/context.jpg"));
		
				checkboxTableViewer = CheckboxTableViewer.newCheckList(composite, SWT.BORDER | SWT.FULL_SELECTION);
				table = checkboxTableViewer.getTable();
				table.setBounds(22, 147, 834, 283);
				table.setLinesVisible(true);
				table.setHeaderVisible(true);
				table.addListener(SWT.MeasureItem, new Listener() {
					public void handleEvent(Event event) {
						event.height = 23;
					}
				});
				
				
				combo = new Combo(composite, SWT.READ_ONLY);
				combo.setBounds(103, 469, 107, 20);
				combo.addSelectionListener(new SelectionAdapter() {
					@Override
					public void widgetSelected(SelectionEvent e) {

						if(combo.getText().equals("X")){
							checkboxTableViewer.getTable().removeAll();
							creativeWirelessColumn();
							label_10.setVisible(false);
							combo_1.setVisible(false);
							text_8.setText("");
						}else if(combo.getText().equals("XX")){
							checkboxTableViewer.getTable().removeAll();
							xuetangColumn();
							label_10.setVisible(true);
							combo_1.setVisible(true);
							text_8.setText("");
						}else if(combo.getText().equals("XXX")){
							checkboxTableViewer.getTable().removeAll();
							bpColumn();
							label_10.setVisible(false);
							combo_1.setVisible(false);
							text_8.setText("");
						}else if(combo.getText().equals("XXXX")){
							checkboxTableViewer.getTable().removeAll();
							BelterColumn();
							label_10.setVisible(false);
							combo_1.setVisible(false);
							text_8.setText("");
						}
						
					}
				});
				combo.setItems(new String[] {"X", "XX", "XXX", "XXXX"});
				combo.select(0);
				
				label_10 = new Label(composite, SWT.NONE);
				label_10.setBounds(255, 474, 36, 21);
				label_10.setBackground(SWTResourceManager.getColor(255, 255, 255));
				label_10.setText("XX:");
				label_10.setVisible(false);
				//		label_10.setBackground(bgColor);
				
						combo_1 = new Combo(composite, SWT.READ_ONLY);
						combo_1.setBounds(298, 470, 94, 20);
						combo_1.setItems(new String[]{"--请选择--","XX","XXX"});
						combo_1.select(0);
						combo_1.setVisible(false);
						text_8 = new Text(composite, SWT.BORDER);
						text_8.setBounds(505, 470, 94, 21);
						text_8.setFont(SWTResourceManager.getFont("宋体", 10, SWT.NORMAL));
						text_8.setBackground(SWTResourceManager.getColor(255, 255, 255));
						text_8.setEnabled(false);
						
						Button button_3 = new Button(composite, SWT.NONE);
						button_3.setBounds(677, 469, 83, 22);
						button_3.setImage(SWTResourceManager.getImage("image/03.png"));
						
						
						
						button_1 = new Button(composite, SWT.NONE);
						button_1.setBounds(766, 469, 83, 22);
						button_1.setImage(SWTResourceManager.getImage("image/05.png"));
						button_2 =  new Button(composite, SWT.NONE);
						button_2.setBounds(769, 514, 83, 22);
						button_2.setImage(SWTResourceManager.getImage("image/10.png"));
						shell.setImage(display.getSystemImage(SWT.ICON_WORKING));

						 final Tray tray = display.getSystemTray();
					        final TrayItem trayItem = new TrayItem(tray, SWT.NONE); 
					        trayItem.setVisible(false);
					        trayItem.setToolTipText(shell.getText());
					                     
					        trayItem.addSelectionListener(new SelectionAdapter() {
					            public void widgetSelected(SelectionEvent e) {
					            	 shell.setMinimized(true);
					            }
					        }); 
						label_1 = new Label(composite, SWT.NONE);
//						label_1.addShellListener(new ShellAdapter() {
//				             
//				            //点击窗口最小化按钮时,窗口隐藏,系统栏显示图标
//				            public void shellIconified(ShellEvent e) {
//				                toggleDisplay(shell, tray);
//				            } 
//						
//					};
						
						label_1.addMouseListener(new MouseAdapter() {
				            public void mouseUp(MouseEvent event) {
				            	 shell.setMinimized(true);
				            }
				        });

						label_1.setText("");
						label_1.setImage(SWTResourceManager.getImage("image/-.jpg"));
						label_1.setBounds(806, 0, 27, 27);
						
						label = new Label(composite, SWT.NONE);
						label.setBounds(833, 0, 27, 27);
						label.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseUp(MouseEvent e) {
				shell.close();
			}
		});
		label.setText("");
		label.setImage(SWTResourceManager.getImage("image/x.jpg"));
		
		Label label_2 = new Label(composite, SWT.NONE);
		label_2.setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE));
		label_2.setBounds(105, 91, 107, 21);
		Label label_3 = new Label(composite, SWT.NONE);
		label_3.setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE));
		label_3.setBounds(282, 91, 107, 21);
		Label label_4 = new Label(composite, SWT.NONE);
		label_4.setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE));
		label_4.setBounds(483, 91, 107, 21);
		Label label_5 = new Label(composite, SWT.NONE);
		label_5.setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE));
		label_5.setBounds(690, 91, 107, 21);

						
	
		
		//初始化页面为 X
		creativeWirelessColumn();
//		xuetangColumn();
	}
	
	//封装CheckBoxTable列
	//x
	public void creativeWirelessColumn(){
		
		while(table.getColumnCount()>0){
			table.getColumns()[0].dispose(); 
		}
		tableViewerColumn = new TableViewerColumn(
				checkboxTableViewer, SWT.NONE);
		TableColumn	tableColumn = tableViewerColumn.getColumn();
		tableColumn.setText("xx");
		tableColumn.setWidth(230);
		tableViewerColumn_1 = new TableViewerColumn(checkboxTableViewer, SWT.NONE);
		TableColumn tableColumn_1 = tableViewerColumn_1.getColumn();
		tableColumn_1.setWidth(292);
		tableColumn_1.setText("xxx");
		tableViewerColumn_2= new TableViewerColumn(checkboxTableViewer, SWT.NONE);
		TableColumn tableColumn_2= tableViewerColumn_2.getColumn();
		tableColumn_2.setWidth(300);
		tableColumn_2.setText("xx");
		
	}
	
	//xx
	public void bpColumn(){
		while(table.getColumnCount()>0)table.getColumns()[0].dispose(); 
		
		tableViewerColumn = new TableViewerColumn(
				checkboxTableViewer, SWT.NONE);
		TableColumn tableColumn = tableViewerColumn.getColumn();
		tableColumn.setText("xx");
		tableColumn.setWidth(180);
		tableViewerColumn_1 = new TableViewerColumn(checkboxTableViewer, SWT.NONE);
		TableColumn tableColumn_1 = tableViewerColumn_1.getColumn();
		tableColumn_1.setWidth(180);
		tableColumn_1.setText("xx");
		

		tableViewerColumn_2 = new TableViewerColumn(checkboxTableViewer, SWT.NONE);
		TableColumn tableColumn_2 = tableViewerColumn_2.getColumn();
		tableColumn_2.setWidth(180);
		tableColumn_2.setText("xx");
		
		tableViewerColumn_3 = new TableViewerColumn(checkboxTableViewer, SWT.NONE);
		TableColumn tableColumn_3 = tableViewerColumn_3.getColumn();
		tableColumn_3.setWidth(220);
		tableColumn_3.setText("xx");
	}
	
	//xxx
	public void xuetangColumn(){
		while(table.getColumnCount()>0)table.getColumns()[0].dispose(); 
//		for(int i=0;i<table.getColumnCount();i++){
//			
//			table.getColumns()[i].dispose();
//		}
		
		tableViewerColumn = new TableViewerColumn(
				checkboxTableViewer, SWT.NONE);
		TableColumn	tableColumn = tableViewerColumn.getColumn();

		tableColumn.setText("xx");
		tableColumn.setWidth(428);
		
		tableViewerColumn_1 = new TableViewerColumn(checkboxTableViewer, SWT.NONE);
		TableColumn	tableColumn_1 = tableViewerColumn_1.getColumn();
		tableColumn_1.setWidth(400);
		tableColumn_1.setText("xx");
	}
	
	
	//xxxx
	public void BelterColumn(){
		while(table.getColumnCount()>0)table.getColumns()[0].dispose(); 
//		for(int i=0;i<table.getColumnCount();i++){
//			
//			table.getColumns()[i].dispose();
//		}
		tableViewerColumn = new TableViewerColumn(
				checkboxTableViewer, SWT.NONE);
		TableColumn	tableColumn = tableViewerColumn.getColumn();

		tableColumn.setText("xx");
		tableColumn.setWidth(60);
		
		tableViewerColumn_1 = new TableViewerColumn(checkboxTableViewer, SWT.NONE);
		TableColumn tableColumn_1  = tableViewerColumn_1.getColumn();
		tableColumn_1.setWidth(60);
		tableColumn_1.setText("xx");
		
		tableViewerColumn_2 = new TableViewerColumn(checkboxTableViewer, SWT.NONE);
		TableColumn tableColumn_2 = tableViewerColumn_2.getColumn();
		tableColumn_2.setWidth(58);
		tableColumn_2.setText("xxx");
		
		
		tableViewerColumn_3 = new TableViewerColumn(checkboxTableViewer, SWT.NONE);
		TableColumn tableColumn_3 = tableViewerColumn_3.getColumn();
		tableColumn_3.setWidth(58);
		tableColumn_3.setText("xxx");
		
		tableViewerColumn_4 = new TableViewerColumn(checkboxTableViewer, SWT.NONE);
		TableColumn tableColumn_4 = tableViewerColumn_4.getColumn();
		tableColumn_4.setWidth(58);
		tableColumn_4.setText("xxx");
		
		tableViewerColumn_5 = new TableViewerColumn(checkboxTableViewer, SWT.NONE);
		TableColumn tableColumn_5 = tableViewerColumn_5.getColumn();
		tableColumn_5.setWidth(65);
		tableColumn_5.setText("xxx");
		
		tableViewerColumn_6 = new TableViewerColumn(checkboxTableViewer, SWT.NONE);
		TableColumn tableColumn_6 = tableViewerColumn_6.getColumn();
		tableColumn_6.setWidth(65);
		tableColumn_6.setText("xxx");
		
		tableViewerColumn_7 = new TableViewerColumn(checkboxTableViewer, SWT.NONE);
		TableColumn tableColumn_7 = tableViewerColumn_7.getColumn();
		tableColumn_7.setWidth(60);
		tableColumn_7.setText("xx");
		
		tableViewerColumn_8 = new TableViewerColumn(checkboxTableViewer, SWT.NONE);
		TableColumn tableColumn_8 = tableViewerColumn_8.getColumn();
		tableColumn_8.setWidth(60);
		tableColumn_8.setText("xx");
		
		tableViewerColumn_9 = new TableViewerColumn(checkboxTableViewer, SWT.NONE);
		TableColumn tableColumn_9 = tableViewerColumn_9.getColumn();
		tableColumn_9.setWidth(60);
		tableColumn_9.setText("xx");
		
		tableViewerColumn_11 = new TableViewerColumn(checkboxTableViewer, SWT.NONE);
		TableColumn tableColumn_11 = tableViewerColumn_11.getColumn();
		tableColumn_11.setWidth(58);
		tableColumn_11.setText("xx");
		
		tableViewerColumn_10 = new TableViewerColumn(checkboxTableViewer, SWT.NONE);
		TableColumn tableColumn_10 = tableViewerColumn_10.getColumn();
		tableColumn_10.setWidth(150);
		tableColumn_10.setText("xx");
		
		
	}
	
	public void readerEquipmentData(String prot){
			
		checkboxTableViewer.setContentProvider(new TableViewContentProvider()); // 内容器
		checkboxTableViewer.setLabelProvider(new BeiTaiTableViewLabelProvider());// 标签器
		//checkboxTableViewer.setInput("设置对象");
	}
		
	
}

 

分享到:
评论

相关推荐

    DJNativeSwing-SWT.jar、DJNativeSwing.jar、swt-win-x64.jar

    这个JAR文件提供了丰富的API,让开发者可以轻松地在Swing和SWT之间切换,创建出既美观又高效的用户界面。例如,它可以帮助开发者使用SWT的表格控件,同时保持Swing的事件处理和布局管理机制。 接下来是swt-win-x64....

    IBM GUI库SWT教程

    1. **组件库**:SWT提供了丰富的组件,如按钮、文本框、列表、树视图、表格等,这些组件可以组合起来构建复杂的用户界面。每个组件都有相应的API,开发者可以通过调用方法来实现交互和定制。 2. **事件驱动**:SWT...

    定制 SWT RCP 界面--如何编写一个漂亮的 SWT

    - **自定义主题**:可以通过自定义CSS样式表来改变SWT控件的外观。 - **图标和图像**:使用高质量的图标和图像可以显著提高界面的专业感。 3. **交互性增强**: - **提示信息**:为按钮和文本框添加工具提示。 ...

    SWT_Designer.rar_SWT_SWT_Designer_java swt_swt designer_swt desi

    6. **学习使用**:SWT Designer提供了一系列的控件,如按钮、文本框、表格等,你可以通过拖放的方式将它们添加到设计视图中,并调整其属性。此外,SWT Designer还支持布局管理,例如网格布局、表格布局和填充布局等...

    SWT教程

    **SWT教程** SWT(Standard Widget Toolkit)是Eclipse项目的一个重要组成部分,它是一个用于构建Java图形用户界面(GUI)的开源库。SWT设计的目的是为了提供一个与平台无关但性能高效的GUI API,与Java Swing不同...

    SWT-Designer入门教程

    7. **代码生成与编辑**:SWT-Designer允许在设计视图和源代码视图之间切换,你可以看到所见即所得的设计如何转换为Java代码,也可以直接编辑代码来微调细节。 通过这个入门教程,初学者将能够快速上手SWT-Designer...

    SWT开发组件demo

    2. **扩展组件**:除了基本组件,SWT还提供了一些更复杂的组件,如树形视图(Tree),表格(Table),进度条(ProgressBar),滑块(Slider)等。这些组件增强了用户界面的交互性和信息展示能力。例如,`Tree`用于...

    SWT Table分页的工具类

    在SWT中,Table控件相当于其他GUI库中的数据表格,可以用来展示多行多列的数据。在处理大量数据时,为了提高性能和用户体验,通常会采用分页的方式来显示数据。本文将深入探讨如何使用SWT Table实现分页功能,并基于...

    SWT.rar_SWT

    4. **组件(Widgets)**:SWT提供了丰富的组件集合,包括Button(按钮)、Text(文本框)、Label(标签)、List(列表)、Tree(树形视图)、Table(表格)等。开发者可以根据需求组合使用这些组件来构建复杂的用户...

    Java swt Designer的可视化开发工具研究

    此外,SWT Designer还提供代码和设计视图之间的无缝切换,使得开发者可以在需要时查看或编辑源代码。 在设计过程中,SWT Designer会自动生成对应的Java代码,这些代码使用SWT库来实现GUI。这意味着开发者可以专注于...

    swt网页布局介绍Layout

    4. ** MigLayout **:MigLayout是一个第三方布局管理器,它提供了更高级的功能,如复杂的约束条件、自动对齐、表格布局等。在SWT中,可以通过JFace的`GridLayoutFactory`或者直接使用MigLayout的API来实现。 5. **...

    SWT 资料

    9. **国际化与本地化**:SWT 支持应用程序的国际化,可以轻松地切换不同语言的界面。 10. **最佳实践**:在实际开发中,应考虑 SWT 应用的可移植性,避免过于依赖特定平台的功能。同时,合理的事件处理和布局设计也...

    SWT Designer 对应eclipse3.7版本插件

    5. 安装完成后,在Eclipse的“Perspective”视图中切换到SWT Designer,开始设计GUI界面。 通过使用SWT Designer,开发者可以享受到以下优势: 1. 可视化设计:SWT Designer提供了所见即所得的界面,可以在设计...

    java Swing、SWT分页

    同时,可以使用`JButton`或`JComboBox`来切换页面,根据用户的选择动态更新模型中的数据。 另一方面,SWT是Eclipse基金会的一个开源项目,它提供了更接近操作系统原生的GUI组件。SWT与Swing不同,它是直接操作操作...

    SWTDesigner_v7.6.0_for_Eclipse3.6_Part2

    4. **丰富的控件库**:SWTDesigner支持SWT和JFace库中的所有控件,包括按钮、文本框、列表、树视图、表格等,还提供了许多自定义控件和布局选项。 5. **布局管理**:它提供了一套直观的布局工具,帮助开发者轻松...

    SWT/JFace分页

    这个文件可能包含了一些辅助工具类,用于简化SWT和JFace的分页实现,比如提供分页控件、数据加载和页面切换的封装。`xxx.txt`可能是文档或示例代码,帮助理解如何使用这些工具。 总结,"SWT/JFace分页"涉及到使用...

    Eclipse Swing Swt builder 插件安装包及安装说明

    - **广泛的组件库**:支持Swing和SWT的所有组件,包括按钮、文本框、表格、树视图等,以及自定义组件。 总的来说,Eclipse Swing SWT Builder插件是Java GUI开发的强大工具,它简化了UI设计,提高了开发效率,是...

    SWT开发工具Jigloo

    在Eclipse环境中集成Jigloo后,开发者可以在Eclipse的IDE内直接进行SWT界面的设计工作,无需频繁切换到其他设计工具,提升了开发流程的连贯性和便捷性。Jigloo与Eclipse的无缝集成,使得代码的编写、调试和设计可以...

    swt designer

    - **代码生成和同步**:设计完成后,SWT Designer自动生成对应的SWT/JFace代码,同时支持在代码和设计视图之间切换,保持同步。 - **高级组件支持**:包括表格、树形视图、对话框、进度条等复杂组件的设计。 - **...

    SWT 编 程 总 结

    - **TabFolder**:允许用户通过标签页的形式切换不同的界面。 ###### 7.2.5 CoolBar - **CoolBar**:类似工具栏的控件,可以包含按钮和其他控件。 #### 8. SWT常用布局介绍 SWT提供了多种布局管理器来帮助开发者...

Global site tag (gtag.js) - Google Analytics