これは、テスト時にEclipseに表示されるものです。
そして、これは、アプレットとして起動したときにFirefox/Chromeブラウザに表示されるものです。
HTMLコード:
<APPLET code='GUI.MainMenu.class' archive = 'Finance.jar'width="800" height="623"></APPLET>
Javaでは、メインメニューの下にあるもの(ライブラリ、スケジューラ、その他のボタン)はすべてContentPane変数(JPanel)にあります。アプレットがロードされると、最初にそれらのテーブルなどを表示するLibrary(extends JPanel)クラスがロードされます。
したがって、ブラウザはそのLibrary.classに到達できないように見えますが、jarではその場所にあります。何かアイデアはありますか?
PS MainMenu.class(メインクラス)はGUIパッケージに含まれていますが、Library.classはGUI.Libraryパッケージに含まれています
SSCCE:メインクラス
public MainMenu() {
super();
initGUI();
}
private void initGUI() {
try {
BorderLayout thisLayout = new BorderLayout();
getContentPane().setLayout(thisLayout);
this.setSize(windowWidth, windowHeight + menuHeight);
this.setPreferredSize(new java.awt.Dimension(windowWidth, windowHeight + menuHeight));
this.setMinimumSize(new java.awt.Dimension(800, 623));
{
MenuPane = new JPanel();
AnchorLayout MenuPaneLayout = new AnchorLayout();
MenuPane.setLayout(MenuPaneLayout);
getContentPane().add(MenuPane, BorderLayout.NORTH);
MenuPane.setPreferredSize(new java.awt.Dimension(windowWidth, menuHeight));
MenuPane.setMinimumSize(new java.awt.Dimension(windowWidth, menuHeight));
{
MLibrary = new JButton();
MenuPane.add(MLibrary, new AnchorConstraint(0, 0, 0, 0, AnchorConstraint.ANCHOR_ABS, AnchorConstraint.ANCHOR_NONE, AnchorConstraint.ANCHOR_ABS, AnchorConstraint.ANCHOR_ABS));
MLibrary.setText("Library");
MLibrary.setPreferredSize(buttonSize);
MLibrary.addActionListener(this);
MLibrary.getModel().setPressed(true);
}
{
//adds other main menu buttons by anchor..
}
}
{
renewContentPane(new Library());
}
} catch (Exception e) {
e.printStackTrace();
}
}
private void renewContentPane(JPanel pane) {
if (ContentPane != null) {
getContentPane().remove(ContentPane);
}
ContentPane = pane;
getContentPane().add(ContentPane, BorderLayout.SOUTH);
getContentPane().validate();
}
ライブラリクラス:
public Library() {
super();
initGUI();
}
private void initGUI() {
try {
GridBagLayout thisLayout = new GridBagLayout();
setPreferredSize(new Dimension(800, 600));
thisLayout.rowWeights = new double[] {0.0, 0.0, 0.1};
thisLayout.rowHeights = new int[] {35, 529, 7};
thisLayout.columnWeights = new double[] {0.0, 0.0, 0.0, 0.0, 0.0, 0.1};
thisLayout.columnWidths = new int[] {85, 85, 85, 85, 85, 7};
this.setLayout(thisLayout);
{
//adds account label and buttons
}
{//table of transactions
tableTrans = new JTable(new LibraryTableModel());
JScrollPane tableScroll = new JScrollPane(tableTrans);
this.add(tableScroll, new GridBagConstraints(2, 0, 4, 2, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
tableScroll.setPreferredSize(new Dimension(610, 545));//630x565
//tableTrans.setDefaultRenderer(Class.forName( "java.lang.String" ), new LibraryTableCellRenderer());
tableTrans.getColumnModel().getColumn(0).setMaxWidth(15);
tableTrans.getColumnModel().getColumn(4).setCellRenderer(new NumberFormatRenderer());
//tableTrans.getColumnModel().getColumn(0).setMaxWidth(15);
}
{//table of accounts
tableAccounts = new JTable(new AccountsTableModel());
JScrollPane accTableScroll = new JScrollPane(tableAccounts);
this.add(accTableScroll, new GridBagConstraints(0, 1, 2, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
tableAccounts.setTableHeader(null);
//tableAccounts.setShowGrid(false);
tableAccounts.getColumnModel().getColumn(0).setMaxWidth(25);
tableAccounts.setRowHeight(25);
}
} catch (Exception e) {
e.printStackTrace();
}
}