Запуск программы по нажатию на кнопку GUI - Java
Формулировка задачи:
Здравствуйте!
Не могу разобраться
Есть кнопка в GUI
Есть класс, который находится в пакадже. Предположим Package1.Main
Как запустить этот класс при нажатии на кнопку? Что надо в коде кнопки написать?
Заранее благодарен за ответ!!
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { }
Решение задачи: «Запуск программы по нажатию на кнопку GUI»
textual
Листинг программы
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package snake_game; import java.awt.Color; import java.awt.Container; import java.awt.Graphics; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import javafx.event.ActionEvent; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.Timer; import snake_game_src.Apple; import snake_game_src.Snake; /** * * @author ASUS */ public class Main extends JPanel implements ActionListener{ public static final int scale = 32; public static final int width = 20; public static final int height = 20; public static final int speed = 5; Apple a = new Apple((int) (Math.random()*width), (int) (Math.random()*height)); Snake s = new Snake(10,10,9,10); Timer t = new Timer(1000/speed, this); public Main(){ t.start(); addKeyListener (new Keyboard()); setFocusable(true); } public void paint(Graphics g){ g.setColor(color(150,200,100)); g.fillRect(0, 0, width*scale, height*scale); g.setColor(color(255,255,0)); for(int xx = 0; xx<=width*scale; xx+=scale){ g.drawLine(xx,0,xx,height*scale); } for(int yy = 0; yy<=width*scale; yy+=scale){ g.drawLine(0,yy,height*scale,yy); } for (int d = 0; d < s.length; d++) { g.setColor(Color.blue); g.fillRect(s.snakeX[d]*scale+1,s.snakeY[d]*scale+1, scale-1, scale-1); } g.setColor(Color.red); g.fillOval(a.posX*scale+1, a.posY*scale+1, scale-1, scale-1); } public Color color(int red, int green, int blue){ return new Color(red, green, blue); } /** * @param args the command line arguments */ public static void main(String[] args) { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setResizable(false); //Size frame.setSize(width*scale+7, height*scale+36); //Window at the center frame.setLocationRelativeTo(null); frame.add(new Main()); //Visiable frame.setVisible(true); // TODO code application logic here } public void actionPerformed(java.awt.event.ActionEvent e) { s.Move(); if((s.snakeX[0] == a.posX) & (s.snakeY[0] == a.posY)){ a.setRandomPos(); s.length++; } for (int k = 1; k < s.length; k++){ if((s.snakeX[k] == a.posX) & (s.snakeY[k] == a.posY)){ a.setRandomPos(); } } repaint(); } private class Keyboard extends KeyAdapter{ public void keyPressed (KeyEvent kEvt){ int key = kEvt.getKeyCode(); if ((key == KeyEvent.VK_RIGHT) & s.direction != 2) s.direction = 0; if ((key == KeyEvent.VK_DOWN) & s.direction != 3 ) s.direction = 1; if ((key == KeyEvent.VK_LEFT) & s.direction != 0) s.direction = 2; if ((key == KeyEvent.VK_UP) & s.direction != 1 ) s.direction = 3; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д