尝试 运行 Eclipse 中的复合 GUI
Trying to run a composite GUI in Eclipse
我正在学习如何使用 Eclipse IDE 并尝试 运行 在 Eclipse 中构建一个组合。但是,我无法将其发送到 运行 GUI 任何人都可以帮忙吗?我知道我需要 public static void main(String[] args)
,但我需要向此方法添加什么才能使其正确地达到 运行?谁能帮帮我。
package gui;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Combo;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.plaf.metal.MetalIconFactory;
import org.eclipse.swt.custom.CCombo;
import org.eclipse.wb.swt.SWTResourceManager;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
public class GUI extends Composite {
// Strings to use as list items
private static final String[] items = { "Item 1", "Item 2", "Item 3", "Item 4" };
public Framework(Composite parent, int style) {
super(parent, style);
Combo comboBox= new Combo(this, SWT.DROP_DOWN);
comboBox.setBounds(174, 36, 534, 20);
comboBox.setItems(Algorithms);
Label lblOut = new Label(this, SWT.NONE);
lblOut.setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE));
lblOut.setBounds(38, 145, 534, 327);
Button btnExit = new Button(this, SWT.NONE);
btnExit.setText("EXIT");
btnExit.setForeground(SWTResourceManager.getColor(SWT.COLOR_BLACK));
btnExit.setBounds(591, 421, 166, 51);
btnExit.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
System.exit(0);
}
});
}
@Override
protected void checkSubclass() {
// Disable the check that prevents subclassing of SWT components
}
public static void main(String[] args) {
Framework framework = new Framework();
Composite c = new Composite(framework, SWT.NONE);
}
}
我在行 Framework framework = new Framework();
上收到错误,因为我需要两个参数 parent, font
。请帮忙解释一下我只是Java的初学者。
SWT 程序的 main
必须始终创建 SWT 显示和 运行 SWT 事件调度循环。
Composite
等控件必须包含在 Shell
控件中。
所以你的 main
可能看起来像:
public static void main(final String [] args)
{
// Create the display
Display display = new Display();
try
{
// Create main shell
Shell shell = new Shell(display, SWT.SHELL_TRIM);
shell.setText("Shell Title");
shell.setLayout(new FillLayout());
// Put framework in the shell
new Framework(shell, SWT.NONE);
// Open the shell
shell.open();
// Main event dispatch loop
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
display.sleep();
}
}
finally
{
// Clean up
display.dispose();
}
}
我正在学习如何使用 Eclipse IDE 并尝试 运行 在 Eclipse 中构建一个组合。但是,我无法将其发送到 运行 GUI 任何人都可以帮忙吗?我知道我需要 public static void main(String[] args)
,但我需要向此方法添加什么才能使其正确地达到 运行?谁能帮帮我。
package gui;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Combo;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.plaf.metal.MetalIconFactory;
import org.eclipse.swt.custom.CCombo;
import org.eclipse.wb.swt.SWTResourceManager;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
public class GUI extends Composite {
// Strings to use as list items
private static final String[] items = { "Item 1", "Item 2", "Item 3", "Item 4" };
public Framework(Composite parent, int style) {
super(parent, style);
Combo comboBox= new Combo(this, SWT.DROP_DOWN);
comboBox.setBounds(174, 36, 534, 20);
comboBox.setItems(Algorithms);
Label lblOut = new Label(this, SWT.NONE);
lblOut.setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE));
lblOut.setBounds(38, 145, 534, 327);
Button btnExit = new Button(this, SWT.NONE);
btnExit.setText("EXIT");
btnExit.setForeground(SWTResourceManager.getColor(SWT.COLOR_BLACK));
btnExit.setBounds(591, 421, 166, 51);
btnExit.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
System.exit(0);
}
});
}
@Override
protected void checkSubclass() {
// Disable the check that prevents subclassing of SWT components
}
public static void main(String[] args) {
Framework framework = new Framework();
Composite c = new Composite(framework, SWT.NONE);
}
}
我在行 Framework framework = new Framework();
上收到错误,因为我需要两个参数 parent, font
。请帮忙解释一下我只是Java的初学者。
SWT 程序的 main
必须始终创建 SWT 显示和 运行 SWT 事件调度循环。
Composite
等控件必须包含在 Shell
控件中。
所以你的 main
可能看起来像:
public static void main(final String [] args)
{
// Create the display
Display display = new Display();
try
{
// Create main shell
Shell shell = new Shell(display, SWT.SHELL_TRIM);
shell.setText("Shell Title");
shell.setLayout(new FillLayout());
// Put framework in the shell
new Framework(shell, SWT.NONE);
// Open the shell
shell.open();
// Main event dispatch loop
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
display.sleep();
}
}
finally
{
// Clean up
display.dispose();
}
}