SWT에서 새로운 탭에 포커스를 주는 방법이 있나요?
글쓴이: june / 작성시간: 목, 2007/04/26 - 2:02오후
안녕하세요.
포스팅 하는건 정말 오랜만이네요.
다들 업무에 수고 많으시죠~
다름 아니라, 제가 swt를 쓰고 있는데,
TabFolder에서 여러개의 tab들을 열었을때, 가장 최근 또는 사용자의 입력에 의해서 새로운 탭이 생겼을 때, 그 탭에 Focus가 가도록 하는 방법을 찾고 있는데, 생각보다 잘 안되네요.
혹시 사용한 경험이 있으신분 있으시면 힌트라도 부탁드려요.
class MyButton extends Composite{
public MyButton(final Composite parent) {
super(parent,SWT.NONE);
Button btn1 = new Button(this,SWT.PUSH);
btn1.setSize(20, 20);
btn1.setText("btn1");
btn1.addMouseListener(
new MouseListener(){
public void mouseDoubleClick(MouseEvent e) {
}
public void mouseDown(MouseEvent e) {
// TODO Auto-generated method stub
TabItem item = new TabItem((TabFolder)parent,SWT.NONE);
item.setText("새 탭");
}
}
);
btn1.pack();
pack();
}
}
public class JFaceTest extends ApplicationWindow {
private static TabFolder folder;
public JFaceTest() {
// TODO Auto-generated constructor stub
super(null);
}
protected Control createContents(Composite parent) {
this.getShell().setText("Good son");
this.getShell().setSize(400, 400);
folder = new TabFolder(parent, SWT.BORDER);
TabItem item = new TabItem(folder,SWT.NONE);
MyButton btn1 = new MyButton(folder);
item.setText("tab label");
item.setControl(btn1);
return parent;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JFaceTest test = new JFaceTest();
test.setBlockOnOpen(true);
test.open();
Display.getCurrent().dispose();
}
}
<code>Forums:


public void
public void mouseDown(MouseEvent e) { // TODO Auto-generated method stub TabItem item = new TabItem((TabFolder)parent,SWT.NONE); item.setText("새 탭"); }이 부분에서 TabItem 을 새로 만든 후에는 탭안에 보일 위젯을 만들어 넣어야 합니다.
그리고 그 위젯에 setFocus() 메소드를 호출하면 될 겁니다.(확인은 안해봤습니다.)
public void mouseDown(MouseEvent e) { // TODO Auto-generated method stub TabItem item = new TabItem((TabFolder)parent,SWT.NONE); item.setText("새 탭"); Label label = new Label((Composite)parent , SWT.NONE) ; label.setText("새 탭 안의 내용") ; item.setControl(label) ; label.setFocus() ; }관심 가져주셔서
관심 가져주셔서 감사합니다 ^^
포스팅해주신 대로 했었는데, 제가 원한바대로는 안되네요 ^^;
새탭이 열렸을때, 열린 새탭이 앞으로 나오게 하려고 하거든요, 그런데 위의 방법대로는 원하는데로 동작하지는 않네요.
다른방법을 계속 찾고 있습니다.
즐거운 하루 되세요~
커피는 블랙이나 설탕만..
댓글 달기