Запуск программы по нажатию на кнопку 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;
}
}
}