簡單代碼:爲什麼我需要一個runnable而不是直接從main調用?從java.sun
public class BasicApp implements Runnable {
JFrame mainFrame;
JLabel label;
public void run() {
mainFrame = new JFrame("BasicApp");
label = new JLabel("Hello, world!");
label.setFont(new Font("SansSerif", Font.PLAIN, 22));
mainFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
mainFrame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
mainFrame.setVisible(false);
// Perform any other operations you might need
// before exit.
System.exit(0);
}
});
mainFrame.add(label);
mainFrame.pack();
mainFrame.setVisible(true);
}
public static void main(String[] args) {
Runnable app = new BasicApp();
try {
SwingUtilities.invokeAndWait(app);
} catch (InvocationTargetException ex) {
ex.printStackTrace();
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
我可以把所有這些方法的到主(),但爲什麼我需要它也將實現可運行一個獨立的運行方法來執行呢?這個概念背後的想法是什麼?謝謝。
你*可以*也將代碼放在一行中 –
'Runnable'是關於併發性的,不是嗎? –
@KerrekSB在這種情況下,是的,它是關於在EDT上運行「Swing stuff」。 – Bringer128