Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ecrosogames.celldefender;
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.Graphics;
- import java.awt.GridBagConstraints;
- import java.awt.GridBagLayout;
- import java.awt.Image;
- import java.awt.Insets;
- import javax.swing.ImageIcon;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.SwingConstants;
- import javax.swing.UIManager;
- public class MainMenu {
- private static final short WIDTH = 440;
- private static final short HEIGHT = WIDTH;
- private JFrame frame;
- private JPanel pane, paneT, paneC, paneB;
- private JLabel lblTitle, lblFooter;
- private JButton btn1, btn2, btn3, btn4;
- private Font font;
- public MainMenu() {
- try {
- UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
- } catch (Exception e) {
- e.printStackTrace();
- }
- Image bgImg = new ImageIcon(this.getClass().getResource("/icon/background.png")).getImage();
- frame = new JFrame();
- pane = new ImagePanel(bgImg);
- paneT = new JPanel();
- paneC = new JPanel();
- paneB = new JPanel();
- lblTitle = new JLabel("Cell Defender");
- lblFooter = new JLabel("Footer");
- btn1 = new JButton("Regular");
- btn2 = new JButton("Hardmode");
- btn3 = new JButton("Survival");
- btn4 = new JButton("Swarm");
- initPane();
- initFrame();
- }
- private void initFrame() {
- frame.setTitle("Cell Defender");
- frame.setResizable(false);
- frame.add(pane);
- frame.pack();
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setLocationRelativeTo(null);
- frame.setVisible(true);
- }
- private void initPane() {
- pane.setPreferredSize(new Dimension(WIDTH, HEIGHT));
- pane.setLayout(new BorderLayout());
- paneT.setOpaque(false);
- paneC.setLayout(new GridBagLayout());
- paneC.setOpaque(false);
- paneB.setPreferredSize(new Dimension(WIDTH, 150));
- paneB.setLayout(new BorderLayout());
- paneB.setOpaque(false);
- font = new Font("Courier New", 0, 36);
- lblTitle.setForeground(Color.white);
- lblTitle.setFont(font);
- paneT.add(lblTitle);
- customizeButton(btn1);
- customizeButton(btn2);
- customizeButton(btn3);
- customizeButton(btn4);
- GridBagConstraints gbc = new GridBagConstraints();
- int insets = 10;
- gbc.insets = new Insets(insets, insets, insets, insets);
- gbc.gridy = 0;
- paneC.add(btn1, gbc);
- gbc.gridy = 1;
- paneC.add(btn2, gbc);
- gbc.gridy = 2;
- paneC.add(btn3, gbc);
- gbc.gridy = 3;
- paneC.add(btn4, gbc);
- lblFooter.setFont(font);
- lblFooter.setHorizontalAlignment(SwingConstants.CENTER);
- paneB.add(lblFooter, BorderLayout.CENTER);
- pane.add(paneT, BorderLayout.NORTH);
- pane.add(paneC, BorderLayout.CENTER);
- pane.add(paneB, BorderLayout.SOUTH);
- }
- private void customizeButton(JButton b) {
- Font f = new Font(null, 1, 12);
- b.setPreferredSize(new Dimension(200, 35));
- b.setFocusPainted(false);
- b.setFont(f);
- }
- public static void main(String[] args) {
- new MainMenu();
- }
- }
- class ImagePanel extends JPanel {
- private static final long serialVersionUID = 1L;
- private Image img;
- public ImagePanel(String img) {
- this(new ImageIcon(img).getImage());
- }
- public ImagePanel(Image img) {
- this.img = img;
- Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
- setPreferredSize(size);
- setMinimumSize(size);
- setMaximumSize(size);
- setSize(size);
- setLayout(null);
- }
- public void paintComponent(Graphics g) {
- g.drawImage(img, 0, 0, null);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement