how to create window (JFrame)
package triplane.gui; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.image.BufferedImage; import javax.swing.JFrame; public class Window extends JFrame { int h = 768; int w = 1024; Image Background; InputInterceptor Inter; public Window(String Title, int H, int W, InputInterceptor Inter) { this.Inter = Inter; this.Background = new BufferedImage(W, H, BufferedImage.TYPE_INT_RGB); // test(); setTitle(Title); setMinimumSize(new Dimension(W, H)); setMaximumSize(new Dimension(W, H)); setResizable(false); JFrame.setDefaultLookAndFeelDecorated(true); Toolkit tk = Toolkit.getDefaultToolkit(); Dimension screenSize = tk.getScreenSize(); int h = screenSize.height; int w = screenSize.width; setLocation((w - W) / 2, (h - H) / 2); // 2. Optional: What happens when the frame closes? setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); addWindowListener(this.Inter); addKeyListener(this.Inter); addMouseListener(this.Inter); // 3. Create components and put them in the frame. // ...create emptyLabel... // frame.getContentPane().add(emptyLabel, BorderLayout.CENTER); getContentPane(); // 4. Size the frame. pack(); // 5. Show it. setVisible(true); } private void test() { // TODO Auto-generated method stub // BufferedImage im = new BufferedImage(600, 400, // BufferedImage.TYPE_INT_RGB); // Graphics g = im.getGraphics(); // g.setColor(Color.RED); // g.drawLine(0, 0, 100, 100); // I.put(im); } public void paint(Graphics g) { this.setBackground(Color.BLACK); g.drawImage(this.Background, 0, 0, this); // if (I != null) { // if (I.check_availability()) { // Image i = I.get(); // // g.drawImage(i, (this.getWidth() - i.getWidth(this)) / 2, (this // .getHeight() - i.getHeight(this)) / 2, this); // } // } } public void update(Graphics g) { paint(g); } }
package triplane.gui; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; public class InputInterceptor implements KeyListener, ActionListener, MouseListener, WindowListener { @Override public void keyPressed(KeyEvent e) { // TODO Auto-generated method stub System.out.println(e); } @Override public void keyReleased(KeyEvent e) { // TODO Auto-generated method stub System.out.println(e); } @Override public void keyTyped(KeyEvent e) { // TODO Auto-generated method stub System.out.println(e); } @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub System.out.println(e); } @Override public void mouseClicked(MouseEvent e) { // TODO Auto-generated method stub System.out.println(e); } @Override public void mouseEntered(MouseEvent e) { // TODO Auto-generated method stub System.out.println(e); } @Override public void mouseExited(MouseEvent e) { // TODO Auto-generated method stub System.out.println(e); } @Override public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub System.out.println(e); } @Override public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub System.out.println(e); } @Override public void windowActivated(WindowEvent e) { // TODO Auto-generated method stub System.out.println(e); } @Override public void windowClosed(WindowEvent e) { // TODO Auto-generated method stub System.out.println(e); } @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub System.out.println(e); } @Override public void windowDeactivated(WindowEvent e) { // TODO Auto-generated method stub System.out.println(e); } @Override public void windowDeiconified(WindowEvent e) { // TODO Auto-generated method stub System.out.println(e); } @Override public void windowIconified(WindowEvent e) { // TODO Auto-generated method stub System.out.println(e); } @Override public void windowOpened(WindowEvent e) { // TODO Auto-generated method stub System.out.println(e); } }
