Replace autogenerated swing panel with custom title panel

This commit is contained in:
Victor 2013-06-27 22:24:44 +03:00
parent fb03d35727
commit f30db6374c

View File

@ -1,13 +1,19 @@
package jtictactoe; package jtictactoe;
import java.awt.Color; import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font; import java.awt.Font;
import java.awt.Frame; import java.awt.Frame;
import java.awt.Graphics; import java.awt.Graphics;
import java.awt.Point; import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import javax.swing.ImageIcon; import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame; import javax.swing.JFrame;
import javax.swing.JPanel; import javax.swing.JPanel;
@ -17,18 +23,18 @@ import javax.swing.JPanel;
*/ */
public class TitlePanel extends JPanel { public class TitlePanel extends JPanel {
private boolean moveForm; private final BufferedImage exitImage, exitImageBW;
private BufferedImage exitImage, exitImageBW; private final BufferedImage minimizeImage, minimizeImageBW;
private BufferedImage minimizeImage, minimizeImageBW; private final BufferedImage background;
private BufferedImage background;
private Point clickedStart;
private final JFrame mainFrame; private final JFrame mainFrame;
private Font messageFont, infoFont; private final Font messageFont, infoFont;
private boolean moveForm;
private Point clickedStart;
private int winX, winO; private int winX, winO;
private String message; private String message;
public TitlePanel(JFrame mainFrame) { public TitlePanel(JFrame mainFrame) {
this.mainFrame = mainFrame; this.mainFrame = mainFrame;
background = Util.getImage("/res/title_bg.jpg"); background = Util.getImage("/res/title_bg.jpg");
@ -76,120 +82,100 @@ public class TitlePanel extends JPanel {
} }
} }
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() { private void initComponents() {
setBackground(new Color(51, 51, 51));
exitButton = new javax.swing.JButton(); setPreferredSize(new Dimension(480, 150));
minimizeButton = new javax.swing.JButton(); addMouseListener(new MouseAdapter() {
@Override
setBackground(new java.awt.Color(51, 51, 51)); public void mousePressed(MouseEvent evt) {
setPreferredSize(new java.awt.Dimension(480, 150));
addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
formMousePressed(evt); formMousePressed(evt);
} }
public void mouseReleased(java.awt.event.MouseEvent evt) { @Override
public void mouseReleased(MouseEvent evt) {
formMouseReleased(evt); formMouseReleased(evt);
} }
}); });
addMouseMotionListener(new java.awt.event.MouseMotionAdapter() { addMouseMotionListener(new MouseMotionAdapter() {
public void mouseDragged(java.awt.event.MouseEvent evt) { @Override
public void mouseDragged(MouseEvent evt) {
formMouseDragged(evt); formMouseDragged(evt);
} }
}); });
setLayout(null); setLayout(null);
exitButton.setIcon(new javax.swing.ImageIcon(exitImageBW));
final JButton exitButton = new JButton();
exitButton.setIcon(new ImageIcon(exitImageBW));
exitButton.setBorder(null); exitButton.setBorder(null);
exitButton.setBorderPainted(false); exitButton.setBorderPainted(false);
exitButton.setContentAreaFilled(false); exitButton.setContentAreaFilled(false);
exitButton.addMouseListener(new java.awt.event.MouseAdapter() { exitButton.addMouseListener(new MouseAdapter() {
public void mouseEntered(java.awt.event.MouseEvent evt) { @Override
exitButtonMouseEntered(evt); public void mouseEntered(MouseEvent evt) {
exitButton.setIcon(new ImageIcon(exitImage));
} }
public void mouseExited(java.awt.event.MouseEvent evt) { @Override
exitButtonMouseExited(evt); public void mouseExited(MouseEvent evt) {
exitButton.setIcon(new ImageIcon(exitImageBW));
} }
}); });
exitButton.addActionListener(new java.awt.event.ActionListener() { exitButton.addActionListener(new ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { @Override
public void actionPerformed(ActionEvent evt) {
exitButtonActionPerformed(evt); exitButtonActionPerformed(evt);
} }
}); });
add(exitButton); add(exitButton);
exitButton.setBounds(378, 2, 100, 50); exitButton.setBounds(378, 2, 100, 50);
minimizeButton.setIcon(new javax.swing.ImageIcon(minimizeImageBW)); final JButton minimizeButton = new JButton();
minimizeButton.setIcon(new ImageIcon(minimizeImageBW));
minimizeButton.setBorder(null); minimizeButton.setBorder(null);
minimizeButton.setBorderPainted(false); minimizeButton.setBorderPainted(false);
minimizeButton.setContentAreaFilled(false); minimizeButton.setContentAreaFilled(false);
minimizeButton.addMouseListener(new java.awt.event.MouseAdapter() { minimizeButton.addMouseListener(new MouseAdapter() {
public void mouseEntered(java.awt.event.MouseEvent evt) { @Override
minimizeButtonMouseEntered(evt); public void mouseEntered(MouseEvent evt) {
minimizeButton.setIcon(new ImageIcon(minimizeImage));
} }
public void mouseExited(java.awt.event.MouseEvent evt) { @Override
minimizeButtonMouseExited(evt); public void mouseExited(MouseEvent evt) {
minimizeButton.setIcon(new ImageIcon(minimizeImageBW));
} }
}); });
minimizeButton.addActionListener(new java.awt.event.ActionListener() { minimizeButton.addActionListener(new ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) { @Override
minimizeButtonActionPerformed(evt); public void actionPerformed(ActionEvent evt) {
mainFrame.setState(Frame.ICONIFIED);
} }
}); });
add(minimizeButton); add(minimizeButton);
minimizeButton.setBounds(2, 2, 100, 50); minimizeButton.setBounds(2, 2, 100, 50);
}// </editor-fold>//GEN-END:initComponents }
private void exitButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exitButtonActionPerformed private void exitButtonActionPerformed(ActionEvent evt) {
mainFrame.setVisible(false); mainFrame.setVisible(false);
mainFrame.dispose(); mainFrame.dispose();
System.exit(0); System.exit(0);
}//GEN-LAST:event_exitButtonActionPerformed }
private void minimizeButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_minimizeButtonActionPerformed private void formMousePressed(MouseEvent evt) {
mainFrame.setState(Frame.ICONIFIED);
}//GEN-LAST:event_minimizeButtonActionPerformed
private void exitButtonMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_exitButtonMouseEntered
exitButton.setIcon(new ImageIcon(exitImage));
}//GEN-LAST:event_exitButtonMouseEntered
private void exitButtonMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_exitButtonMouseExited
exitButton.setIcon(new ImageIcon(exitImageBW));
}//GEN-LAST:event_exitButtonMouseExited
private void minimizeButtonMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_minimizeButtonMouseEntered
minimizeButton.setIcon(new ImageIcon(minimizeImage));
}//GEN-LAST:event_minimizeButtonMouseEntered
private void minimizeButtonMouseExited(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_minimizeButtonMouseExited
minimizeButton.setIcon(new ImageIcon(minimizeImageBW));
}//GEN-LAST:event_minimizeButtonMouseExited
private void formMousePressed(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_formMousePressed
if (evt.getButton() == MouseEvent.BUTTON1) { if (evt.getButton() == MouseEvent.BUTTON1) {
moveForm = true; moveForm = true;
clickedStart = evt.getPoint(); clickedStart = evt.getPoint();
} }
}//GEN-LAST:event_formMousePressed }
private void formMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_formMouseReleased private void formMouseReleased(MouseEvent evt) {
moveForm = false; moveForm = false;
}//GEN-LAST:event_formMouseReleased }
private void formMouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_formMouseDragged private void formMouseDragged(MouseEvent evt) {
if (moveForm) { if (moveForm) {
Point moved = evt.getLocationOnScreen(); Point moved = evt.getLocationOnScreen();
moved.translate(-clickedStart.x, -clickedStart.y); moved.translate(-clickedStart.x, -clickedStart.y);
mainFrame.setLocation(moved); mainFrame.setLocation(moved);
} }
}//GEN-LAST:event_formMouseDragged }
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton exitButton;
private javax.swing.JButton minimizeButton;
// End of variables declaration//GEN-END:variables
} }