저는 Spring, Hibernate와 같은 J2EE 프레임 워크에서 상당한 지식을 가지고 있으며 관심사의 분리에 영감을 받았습니다. 나는 자바에서 데스크톱 개발의 초보입니다. 스윙이 다소 흐릿해질 수 있습니다. VB에서는 폼 디자인이 별도로 유지되며 폼에는 이벤트 리스너 만 포함됩니다. 하지만 스윙을 시작할 때 많은 것들이 하나의 클래스에로드되어 상황이 어려워집니다. 내가 틀린 곳을 찾을 수 없다. SWT와 같은 대안을 시작했을 때도 비슷한 일이 계속됩니다.스윙과 swt에서 프로그램 로직 폼 디자인을 분리하는 방법
샘플 SWT 코드는 내가
import java.awt.Color;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import edu.umd.cs.piccolox.swt.PSWTCanvas;
import edu.umd.cs.piccolox.swt.PSWTPath;
import edu.umd.cs.piccolox.swt.PSWTText;
public final class SWTBasicExample {
/**
* Create and open a new shell on the specified display.
*
* @param display display
* @return a new shell on the specified display
*/
public static Shell open(final Display display) {
final Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
// create a new SWT canvas
final PSWTCanvas canvas = new PSWTCanvas(shell, 0);
// create some SWT nodes
// and add them as child nodes to the canvas' camera's first layer
PSWTPath rect = PSWTPath.createRectangle(25, 25, 50, 50);
rect.setPaint(Color.RED);
canvas.getLayer().addChild(rect);
rect = PSWTPath.createRectangle(300, 25, 100, 50);
rect.setPaint(Color.BLUE);
canvas.getLayer().addChild(rect);
PSWTPath circle = PSWTPath.createEllipse(100, 200, 50, 50);
circle.setPaint(Color.GREEN);
canvas.getLayer().addChild(circle);
circle = PSWTPath.createEllipse(400, 400, 75, 150);
circle.setPaint(Color.YELLOW);
canvas.getLayer().addChild(circle);
PSWTText text = new PSWTText("Hello World\nMultiline");
text.translate(350, 150);
text.setPenColor(Color.GRAY);
text.setBackgroundColor(Color.BLACK);
canvas.getLayer().addChild(text);
text = new PSWTText("Goodbye World");
text.translate(50, 400);
text.setPenColor(Color.MAGENTA);
canvas.getLayer().addChild(text);
shell.open();
return shell;
}
public static void main(final String[] args) {
final Display display = new Display();
final Shell shell = open(display);
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
}
여기에 모든 그래서 우리의 비즈니스 로직과 디자인은 하나의 클래스에있는 어지럽히 인터넷
에서 얻었다. 나는 방법이 덜 복잡하고 재사용 할 수 있도록 최대 10 줄을 가질 수 있다는 것을 연구했다. 그것은 데스크탑 개발이 아닌 논리에만 적용 가능합니다.한편, Swing은 MVC 프레임 워크라고 들었습니다. 그래서, 나는 논리, 디자인 및 제어의 깔끔한 분리를 원한다. Swing과 Swt에서 좋은 엔지니어링 사례를 따라 Java에서 데스크톱 개발을 쉽게하고 싶습니다. 내가 일식 SWT를 사용하고 있기 때문에 나에게 바람직 할 것이다.
감사합니다,
지식이 풍부한 J2EE 프레임 워크는 얼마나 오래 작업하고 있습니까? (위반하지 말고 그냥 묻는다) – Sorceror