在前一篇把雙啟動功能分割成二個 class 來做,主要是考量在 Loader.class 可以專心做一些有關 applet 及 window 的變化。其實是可以將兩者合而為一,因為二者都是以 contentPane 為主體,所以可以直接把 JApplet 的 contentPane 指定給 JFrame 即可。

透過 jnlp 執行範例程式

import java.awt.EventQueue; import javax.swing.JApplet; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JButton; import java.awt.BorderLayout; import javax.swing.JToolBar; @SuppressWarnings("serial") public class DualBoot extends JApplet { /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setTitle("Applet & Application dual boot demo"); JOptionPane.setRootFrame(frame); frame.setContentPane((new DualBoot()).getContentPane()); frame.pack(); frame.setSize(400, 300); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the applet. */ public DualBoot() { JButton button = new JButton("New button"); getContentPane().add(button, BorderLayout.CENTER); JToolBar toolBar = new JToolBar(); getContentPane().add(toolBar, BorderLayout.NORTH); JButton btnTestButton = new JButton("test button 1"); toolBar.add(btnTestButton); JButton btnTestButton_1 = new JButton("test button 2"); toolBar.add(btnTestButton_1); } }

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()