![사용자 삽입 이미지](https://t1.daumcdn.net/tistoryfile/fs2/3_19_7_3_blog13422_attach_0_6.gif?original)
출처 - 에이콘
이런 기능은 사용자들이 보안에 대한 것을 요구했기 때문에 추가된 것인데, 사용자들은 이 기능이 불편하기 때문에 싫어한다. 아마 내 생각에는 상당수의 vista 사용자들은 UAC 를 꺼놓지 않았을까 생각한다.
이 책은 이처럼 새로운 기술이 왜 사용자들에게 받아들여지지 않는지, 새로운 기술이 성공하려면 어떻게 해야하는지를 설명하고 있으며 주로 사용자 중심의 생각에 대해 기술하고 있다.
출판사 페이지
출처 - 에이콘
출처- 위키북스
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class SwtMain {
/**
* @param args
*/
public static void main(String[] args) {
Display d = new Display() ;
Shell s = new Shell(d) ;
Button btn = new Button(s , SWT.PUSH) ;
btn.setText("throw") ;
btn.addSelectionListener(
new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent arg0) {
// TODO Auto-generated method stub
}
public void widgetSelected(SelectionEvent arg0) {
throw new RuntimeException("clicked") ;
}
}) ;
btn.pack() ;
s.pack() ;
s.open() ;
while( !s.isDisposed() ) {
if(!d.readAndDispatch()) {
d.sleep() ;
}
}
d.dispose() ;
}
}
import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class JFaceMain extends ApplicationWindow {
public JFaceMain() {
super(null);
}
@Override
protected Control createContents(Composite parent) {
Button btn = new Button(parent , SWT.PUSH) ;
btn.setText("throw") ;
btn.addSelectionListener(
new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent arg0) {
// TODO Auto-generated method stub
}
public void widgetSelected(SelectionEvent arg0) {
throw new RuntimeException("clicked") ;
}
}) ;
btn.pack() ;
return parent ;
}
public static void main(String [] args) {
JFaceMain win = new JFaceMain() ;
win.setBlockOnOpen(true) ;
win.open() ;
Display.getCurrent().dispose() ;
}
}