📄 jframeboard.java
字号:
/*
* JFrameBoard.java
*
* Projektet Solitaire 鋜 en datoriserad version av
* br鋎spelet med samma namn. Spelet utvecklas som
* som en laboration under kursen
* Objekthanterad programmering med Java II
* vid h鰃skolan Gotland.
*/
package Solitaire;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.Box;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLayeredPane;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JSeparator;
import javax.swing.filechooser.FileNameExtensionFilter;
/**
* Denna klass 鋜 en grafisk representation av spelet Solitaire och
* spelbr鋎et. Den inkluderar 鋠en menyerna, dess actionhandlers,
* och anropar enklare JDialogs f鰎 att inh鋗ta kvittens fr錸
* spelaren. Metoden PaintComponent 鋜 鰒erriden och ritar en
* bakgrundsbild, Image.
* @version 2007-12-26
* @author M錸s Th鰎nqvist
*/
public class JFrameBoard extends JFrame
{
/**
* Creates a new instance of JFrameBoard
* @param logic H鋘visning till logikklassen
*/
public JFrameBoard(final Solitaire logic)
{
// Lite grundinst鋖lningar f鰎 JFrame
super("Solitaire");
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
setLocationByPlatform(true);
setSize(480, 480);
setVisible(true);
setResizable(false);
// skapa menyerna
setJMenuBar(new JMenuBar()
{{
add(new JMenu("Arkiv")
{{
add(new JMenuItem("Nytt spel")
{{
addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
// 鰌pna en JDialog och inh鋗ta kvittens,
if (JOptionPane.showConfirmDialog(
JFrameBoard.this,
"Vill du starta ett nytt spel?",
"Nytt spel",
JOptionPane.YES_NO_OPTION) ==
JOptionPane.YES_OPTION)
{
// om ja - skapa nytt spel
logic.newGame();
}
}
});
}
});
add(new JSeparator());
add(new JMenuItem("Ladda spel")
{{
addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
// b鰎ja med att 鰌pna en JFileChooser
new JFileChooser()
{{
setDialogTitle("Ladda spel");
setFileFilter(new FileNameExtensionFilter(
"Solitaire files", "sol"));
if (showOpenDialog(JFrameBoard.this) ==
APPROVE_OPTION)
// om en fil valdes, och bara d
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -