私はかなり古い Eclipse 用のプラグインを持っていますが、これは Kepler までうまく機能していました。Kepler では、jTextField にテキストを入力できません。
どこに問題があるのかを突き止めようとしてコードを最小限に減らしましたが、ここで立ち往生しました。
public class BeanDialog extends Dialog
{
public void open()
{
shell = new Shell(getParent(), getStyle());
Composite composite = new Composite(shell, SWT.NO_BACKGROUND | SWT.EMBEDDED);
composite.setSize(822, 480);
final java.awt.Frame frame = SWT_AWT.new_Frame(composite);
JTextField field1 = new JTextField(10);
frame.add(field1);
shell.pack();
shell.open();
Display display = getParent().getDisplay();
while (!shell.isDisposed() && show)
{
if (!display.readAndDispatch())
{
display.sleep();
}
}
parentShell.close();
}
}
テキスト フィールドは正しく表示されますが、テキストを入力できません。私の環境は、OS X 10.7.5 の Java SE 7 (1.7.0_51) です。
このプラグインは、非常に複雑なカスタム アノテーションをコードに追加するのに役立ちます。そのため、実際に修正する必要があります。
私は使用してみました:
import org.eclipse.swt.widgets.Text;
Text text = new Text(shell, SWT.NONE);
text.pack();
動作しますが、すべてのコードを更新するのは悪夢です。
誰でもアドバイスを提供できますか?