public Lab7(File file) {
List<Item> items = null;
try {
items = InventoryReader.read(file);
} catch (ApplicationException e) {
LOG.error(e.getMessage());
return;
}
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (Exception e) {
// If Nimbus is not available, use the default.
}
try {
MainFrame frame = new MainFrame(items); // THIS IS WHERE I HAVE TROUBLE
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
背景: リストを受け入れるように MainFrame のコンストラクターを設定しました。アプリケーションの main() でこれを行うにはどうすればよいですか?
エラーが発生します:
別のメソッドで定義された内部クラス内の非最終変数「items」を参照できません
エラーは、 MainFrame frame = new MainFrame(items)
MainFrame クラスに項目変数を渡すことができないようです... どうしてですか?
この変数を MainFrame フレームに渡すにはどうすればよいですか?