📄 testexample.java
字号:
package com.novocode.naf.example.test;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.graphics.Image;
import com.novocode.naf.app.NAFApplication;
import com.novocode.naf.gui.event.ChangeEvent;
import com.novocode.naf.gui.event.IChangeListener;
import com.novocode.naf.model.*;
import com.novocode.naf.resource.*;
/**
* Example for testing new features.
*
* @author Stefan Zeiger (szeiger@novocode.com)
* @since Mar 1, 2004
*/
public class TestExample
{
public static void main(String[] args)
{
final NAFApplication app = new NAFApplication(TestExample.class);
NGComponent win = app.getResource("test.naf#shell");
System.out.print(win.toString(true));
ModelMap models = new ModelMap();
models.put("model2", new DefaultStringModel("TestExample"));
models.put("table-content-provider", new IStructuredContentProvider()
{
public Object[] getElements(Object element)
{
return (Object[])element;
}
public void dispose() {}
public void inputChanged(Viewer viewer, Object old_input, Object new_input) {}
});
models.put("table-label", new ITableLabelProvider()
{
public Image getColumnImage(Object element, int columnIndex)
{
if(columnIndex == 0)
return app.getImageManager().getImage("test.png").acquire(); // won't be released until the display gets disposed
else return null;
}
public String getColumnText(Object element, int columnIndex)
{
String[] a = (String[])element;
return a[columnIndex];
}
public void addListener(ILabelProviderListener listener) {}
public void dispose() {}
public boolean isLabelProperty(Object element, String property) { return false; }
public void removeListener(ILabelProviderListener listener) {}
});
models.put("table-content", new DefaultObjectModel<Object>(new String[][]
{
new String[] { "l1c1", "l1c2", "l1c3" },
new String[] { "l2c1", "l2c2", "l2c3" },
new String[] { "l3c1", "l3c2", "l3c3" }
}));
final NGComponent menu1 = app.getResource("test.naf#dynamicMenu1");
final NGComponent menu2 = app.getResource("test.naf#dynamicMenu2");
final DefaultItemListModel mm = new DefaultItemListModel();
mm.set(new NGComponent[] { menu1 });
models.put("dynamicMenu", mm);
final DefaultBooleanModel model1 = new DefaultBooleanModel();
models.put("model1", model1);
model1.addChangeListener(new IChangeListener()
{
public void stateChanged(ChangeEvent e)
{
mm.set(new NGComponent[] { model1.getBoolean() ? menu2 : menu1 });
}
});
app.runMainWindow(win, models);
app.dispose();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -