全部,提前感谢所有帮助。
我正在混合一些SWT和摇摆。这是代码:
Composite sessionComposite = new Composite(parent, SWT_EMBEDDED | SWT_BORDER);
sessionComposite.setLayout(0,0,64,64);
Frame frame = new Frame(sessionComposite);
frame.setLayout(new BorderLayout());
JPanel panel = new JPanel(new FlowLayout(Flowlayout.LEFT)));
frame.add(panel);
StyledLabel btnClearHistory = new StyledLabel("Clear Session History");
// some mouse listeners etc...
panel.add(btnClearHistory);
一切正常,除了按钮上显示的唯一内容是" Clear Sessio"其余的被截断了。
我尝试在面板,框架和标签上设置preferredSize
,但没有任何效果。
任何帮助将不胜感激。
答案 0 :(得分:1)
您的代码根本无法编译。此外,您需要使用SWT_AWT.new_Frame(Composite)
来创建嵌入式框架。
以下是一个例子:
public static void main(String[] args)
{
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
shell.setText("StackOverflow");
Composite sessionComposite = new Composite(shell, SWT.EMBEDDED | SWT.BORDER);
Frame frame = SWT_AWT.new_Frame(sessionComposite);
frame.setLayout(new BorderLayout());
JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT));
frame.add(panel);
JButton button = new JButton("Clear Session History");
panel.add(button);
shell.pack();
shell.setSize(400,200);
shell.open();
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
{
display.sleep();
}
}
display.dispose();
}
看起来像这样: