Java Swing和SWT都是Java平臺的GUI工具庫。其中Swing是Java平臺自帶的GUI工具庫,而SWT(Standard Widget Toolkit)則是由Eclipse基金會開發并維護的GUI工具庫。
/** * Java Swing代碼示例 */ import javax.swing.*; public class HelloWorldSwing { private static void createAndShowGUI() { JFrame frame = new JFrame("HelloWorldSwing"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel label = new JLabel("Hello World"); frame.getContentPane().add(label); frame.pack(); frame.setVisible(true); } public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater(() ->createAndShowGUI()); } }
Java Swing提供了一套豐富的GUI組件,包括JButton、JCheckbox、JLabel、JTextField等等。Swing組件的外觀可以通過LookAndFeel進行定制。
/** * SWT代碼示例 */ import org.eclipse.swt.widgets.*; public class HelloWorldSWT { public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setText("Hello World"); Label label = new Label(shell, SWT.NONE); label.setText("Hello World"); label.pack(); shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } }
SWT提供了高性能、跨平臺的GUI組件。相比Swing,它在性能和外觀上表現更好。但是,它的組件集更小,可定制性更弱。
綜合來看,Java Swing適用于需要高度可定制的GUI應用程序,而SWT適用于需要更好的性能和外觀的GUI應用程序。
上一篇vue無法滑動監聽