是什么导致我无法在此代码中使用“strAppName”变量?我有评论现在显示/*strAppName*/
在这里;JFrame frame = new JFrame(/*strAppName*/);
当我运行System.out.println(strAppName);
它时,它会以应用程序名称显示在 Eclipse 控制台中。谢谢!
package base;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.io.*;
import java.util.*;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;
public class StickyNotes extends JFrame {
private static final long serialVersionUID = 1L;
public final static String SAVE_CHANGES = "Save changes?";
public final static String TITLE_AYS = "Are You Sure?";
private void createStickyNotesGUI() {
Properties configProperties = new Properties();
try {
FileInputStream fileInputStream = new FileInputStream("resources/config.properties");
configProperties.load(fileInputStream);
String strAppName = configProperties.getProperty("appName");
//System.out.println(strAppName);
fileInputStream.close(); // better in finally block ?? /* http://en.wikipedia.org/wiki/.properties */
} catch (Exception ex){
//TODO
System.out.println("Exception: " + ex);
}
/* LoadPropertiesExample config = new LoadPropertiesExample();
config.loadProps2();
config.sayHello();*/
// Create and set up the window.
JFrame frame = new JFrame(/*strAppName*/);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new FlowLayout(FlowLayout.LEFT));
// Add Main Menu
MainMenuBar mainMenu = new MainMenuBar();
frame.setJMenuBar(mainMenu.createMainMenuBar(frame));
// Add Content Pane // can I pass a layout object?
frame.setContentPane(ContentPaneCreator.createContentPane());
// contentPane.add(scrollPane, BorderLayout.CENTER);
// Add Tool Bar
ToolBarCreator toolBar = new ToolBarCreator();
frame.getContentPane().add(toolBar.createToolBar(), BorderLayout.NORTH);
// Add Label
frame.getContentPane().add(
LabelCreator.createLabel(frame,
"use Swing and JavaFX together."), BorderLayout.NORTH);
// Display the window.
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
// TODO
/*set configuration to remember frame size*/
frame.setVisible(true);
}
public void doExit(JFrame frame) {
boolean fDirty = true;
if (fDirty)
switch (JOptionPane.showConfirmDialog(StickyNotes.this, SAVE_CHANGES,
TITLE_AYS, JOptionPane.YES_NO_OPTION)) {
case JOptionPane.YES_OPTION:
// if (doSave())
frame.dispose();
break;
case JOptionPane.NO_OPTION:
frame.dispose();
}
else
frame.dispose();
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new StickyNotes().createStickyNotesGUI();
}
});
}
}