📄 main.java
字号:
package main;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import gui.StarPanel;
import parse.FileParser;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
public class Main implements ActionListener{
public static ArrayList<String> sourceList = new ArrayList<String>();
JFileChooser fc;
static JFrame frame;
StarPanel contentPane;
public static Image image1;
static final URL LOGO = Main.class.getResource("7starlogo.jpg");
/**
* create Menu bar
*
* @return JMenuBar
*/
public JMenuBar createMenuBar() {
// dataTableModel.setColumnIdentifiers(dataColumns);
// dataTableModel.setDataVector(data, dataColumns);
fc = new JFileChooser(".");
//Filter condition is defined in MyFilter
fc.addChoosableFileFilter(new MyFilter());
JMenuBar menuBar;
JMenu menu;
JMenuItem menuItem;
//define menuBar
menuBar = new JMenuBar();
//define a menu
menu = new JMenu("File");
menu.setMnemonic(KeyEvent.VK_F);
menuBar.add(menu);
//import file...
ImageIcon icon = createImageIcon("images/Open.gif");
menuItem = new JMenuItem("Import File...", icon);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I, ActionEvent.ALT_MASK));
menuItem.setMnemonic(KeyEvent.VK_I);
menuItem.addActionListener(this);
menu.add(menuItem);
// close frame
menuItem = new JMenuItem("Exit");
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.ALT_MASK));
menuItem.setMnemonic(KeyEvent.VK_X);
menuItem.addActionListener(this);
menu.add(menuItem);
menu = new JMenu("Tool");
menu.setMnemonic(KeyEvent.VK_T);
menuBar.add(menu);
//Help
menu = new JMenu("Help");
menu.setMnemonic(KeyEvent.VK_H);
menuItem = new JMenuItem("About DSWather");
menuItem.setMnemonic(KeyEvent.VK_A);
menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A, ActionEvent.ALT_MASK));
menuItem.addActionListener(this);
menu.add(menuItem);
menuBar.add(menu);
return menuBar;
}
public void actionPerformed(ActionEvent e)
{
JMenuItem source = (JMenuItem) (e.getSource());
String command = source.getText();
if(command.equals("Exit"))
System.exit(0);
else if(command.equals("Import File..."))
{
int returnVal = fc.showOpenDialog(frame);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fc.getSelectedFile();
//add file procession
try {
FileParser.parse(file);
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
else if(command.equals("About 7star"))
{
}
else
System.out.println("Other Operation...");
}
public static ImageIcon createImageIcon(String path) {
java.net.URL imgURL = Main.class.getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}
public StarPanel createContentPane() {
contentPane = new StarPanel();
return contentPane;
}
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable() {
public void run() {
//create a frame
frame = new JFrame("7star");
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
//UIManager.setLookAndFeel("com.sun.javax.swing.plaf.motif.MotifLookAndFeel");
SwingUtilities.updateComponentTreeUI(frame);
} catch (Exception e) {
e.printStackTrace();
}
try {
image1 = frame.getToolkit().getImage(LOGO);
frame.setIconImage(image1);
} catch (Exception e) {
e.printStackTrace();
}
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Main menu = new Main();
frame.setJMenuBar(menu.createMenuBar());
StarPanel contentPane = menu.createContentPane();
frame.setContentPane(contentPane);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int xpos = ((int) screenSize.getWidth() - 610) / 2;
int ypos = ((int) screenSize.getHeight() - 450) / 2;
frame.setLocation(xpos,ypos);
frame.setSize(610, 450);
frame.setVisible(true);
}
});
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -