私は、Spring、HibernateなどのJ2EEフレームワークでまともな知識を持ち、懸念の分離に触発されました。私はJavaのデスクトップ開発のスターターです。スイングではやや不明な点があります。 VBでは、フォームデザインは別のものとして保持され、フォームにはイベントリスナーのみが含まれます。しかし、私がスイングを始めたとき、多くのものが単一のクラスにロードされているため、作業が難しくなっています。私はどこが間違っているのか分かりません。同様のことは、私が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();
}
}
を得た
サンプルSWTコードはここですべてがとても私たちのビジネス・ロジックをめちゃくちゃにされており、デザインは単一のクラスです。私は、メソッドがそれほど複雑で再利用できないようにするために、最大10行を持つことができるということを研究しました。それは、デスクトップ開発ではなくロジックにのみ適用可能ですか?
一方、私はSwingがMVCフレームワークであると聞きました。だから、私は論理、デザイン、コントロールの分離が必要です。スイングとスウォッチでは、Javaのデスクトップ開発を容易にするための優れたエンジニアリングプラクティスが必要です。私は日食SWTを使用しているので、私のために好ましいでしょう。
おかげで、
あなたはまともな知識を持っているJ2EEフレームワークでどのくらい作業していますか? (犯罪はなく、ただ質問する) – Sorceror