Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

alphasil

Erro em eventos

Mensagens Recomendadas

alphasil

Oi ppl

Estou a criar uma ligação à uma base de dados mas quando carrego no botão para confirmar login dá-me null

o código é este (parte)

import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class ebspma extends javax.swing.JFrame {
  Connection con=null;
  ResultSet rs = null;
  PreparedStatement pst= null;
public ebspma() {
	initComponents();
	this.setLocationRelativeTo(null);
	con = LigacaoBd.conecta();
}

// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
	jPanel2 = new javax.swing.JPanel();
	jLabel4 = new javax.swing.JLabel();
	jLabel5 = new javax.swing.JLabel();
	us1 = new javax.swing.JTextField();
	pw1 = new javax.swing.JPasswordField();
	jLabel6 = new javax.swing.JLabel();
	escolha1 = new javax.swing.JComboBox();
	jSeparator3 = new javax.swing.JSeparator();
	jSeparator4 = new javax.swing.JSeparator();
	jButton3 = new javax.swing.JButton();
	validar = new javax.swing.JButton();
	jProgressBar1 = new javax.swing.JProgressBar();
	teste = new javax.swing.JLabel();
	jMenuBar1 = new javax.swing.JMenuBar();
	jMenu1 = new javax.swing.JMenu();
	jMenu2 = new javax.swing.JMenu();
	setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
	setTitle("Requisição Material");
	setPreferredSize(new java.awt.Dimension(800, 600));
	jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Entrada", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Verdana", 1, 12))); // NOI18N
	jPanel2.setAlignmentX(1.0F);
	jPanel2.setAlignmentY(1.0F);
	jPanel2.setPreferredSize(new java.awt.Dimension(350, 260));
	jLabel4.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
	jLabel4.setText("Username:");
	jLabel5.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
	jLabel5.setText("Password:");
	jLabel6.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
	jLabel6.setText("Tipo de User");
	escolha1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Escolha", "Administrador", "Docente", " " }));
	jButton3.setText("Apagar");
	validar.setText("Validar");
	validar.addMouseListener(new java.awt.event.MouseAdapter() {
		public void mouseClicked(java.awt.event.MouseEvent evt) {
			validarMouseClicked(evt);
		}
	});
	javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
	jPanel2.setLayout(jPanel2Layout);
	jPanel2Layout.setHorizontalGroup(
		jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		.addGroup(jPanel2Layout.createSequentialGroup()
			.addContainerGap()
			.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
				.addComponent(jSeparator3)
				.addComponent(jSeparator4)
				.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
					.addGap(0, 29, Short.MAX_VALUE)
					.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
						.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
							.addGroup(jPanel2Layout.createSequentialGroup()
								.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
									.addComponent(jLabel4)
									.addComponent(jLabel5))
								.addGap(18, 18, 18)
								.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
									.addComponent(us1)
									.addComponent(pw1, javax.swing.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)))
							.addGroup(jPanel2Layout.createSequentialGroup()
								.addComponent(jLabel6)
								.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
								.addComponent(escolha1, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)))
						.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
							.addComponent(jButton3)
							.addGap(17, 17, 17)
							.addComponent(validar)))))
			.addGap(30, 30, 30))
	);
	jPanel2Layout.setVerticalGroup(
		jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		.addGroup(jPanel2Layout.createSequentialGroup()
			.addGap(47, 47, 47)
			.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
				.addComponent(jLabel4)
				.addComponent(us1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
			.addGap(31, 31, 31)
			.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
				.addComponent(jLabel5)
				.addComponent(pw1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
			.addGap(21, 21, 21)
			.addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
			.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
			.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
				.addComponent(jLabel6)
				.addComponent(escolha1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
			.addGap(18, 18, 18)
			.addComponent(jSeparator4, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
			.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 49, Short.MAX_VALUE)
			.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
				.addComponent(jButton3)
				.addComponent(validar)))
	);
	jMenu1.setText("File");
	jMenuBar1.add(jMenu1);
	jMenu2.setText("Edit");
	jMenuBar1.add(jMenu2);
	setJMenuBar(jMenuBar1);
	javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
	getContentPane().setLayout(layout);
	layout.setHorizontalGroup(
		layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		.addGroup(layout.createSequentialGroup()
			.addContainerGap(111, Short.MAX_VALUE)
			.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 360, javax.swing.GroupLayout.PREFERRED_SIZE)
			.addGap(110, 110, 110))
		.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
			.addGap(0, 0, Short.MAX_VALUE)
			.addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE))
		.addGroup(layout.createSequentialGroup()
			.addGap(215, 215, 215)
			.addComponent(teste, javax.swing.GroupLayout.PREFERRED_SIZE, 123, javax.swing.GroupLayout.PREFERRED_SIZE)
			.addContainerGap())
	);
	layout.setVerticalGroup(
		layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
		.addGroup(layout.createSequentialGroup()
			.addGap(40, 40, 40)
			.addComponent(teste, javax.swing.GroupLayout.PREFERRED_SIZE, 19, javax.swing.GroupLayout.PREFERRED_SIZE)
			.addGap(27, 27, 27)
			.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE)
			.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 54, Short.MAX_VALUE)
			.addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
	);
	pack();
}// </editor-fold>
private void validarMouseClicked(java.awt.event.MouseEvent evt) {
	if(escolha1.getSelectedItem().equals("Administrador"))
	{
		String sql = "select * from admin where user = ? and pass = ?";
	try
	{

		pst = con.prepareStatement(sql);
		pst.setString(1,us.getText());
		pst.setString(2,pw.getText());
		if(escolha1.getSelectedItem().equals("Administrador"));
		rs = pst.executeQuery();


		if(rs.next())
		{
			Admin adm = new Admin();
			adm.show();
		}
		else
		{
			teste.setText("Erro de login");
		}

	}
	  catch (SQLException | HeadlessException e){

	}
	}
}

A ligação a BD é este

package req;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class LigacaoBd {

static Connection conecta()
{
	Connection conexao = null;
	String driver = "com.mysql.jdbc.Driver";
	String url = "jdbc:mysql://localhost:3306/reserva_salas";
	String login = "root";
	String pass = "";
	try
	{
		Class.forName(driver);
		conexao = DriverManager.getConnection(url, login, pass);
		System.out.println("Ligado à Base de dados");		
	}
	catch (ClassNotFoundException | SQLException e)
	{
	}
	return conexao;
}
}

Dá-me erro aqui

pst = con.prepareStatement(sql);

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

at req.ebspma.validarMouseClicked(ebspma.java:174)

Alguma dica??

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
alphasil

Aqui esrá revisto

inicio

package req;
import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;
public class entrada extends javax.swing.JFrame {
   Connection con = null;
   ResultSet rs = null;
   PreparedStatement pst = null;
   public entrada() {
    initComponents();
    this.setLocationRelativeTo(null);
    con = LigacaoBd.conecta();
   }
   /**
 * This method is called from within the constructor to initialize the form.
 * WARNING: Do NOT modify this code. The content of this method is always
 * regenerated by the Form Editor.
 */
   @SuppressWarnings("unchecked")
   // <editor-fold defaultstate="collapsed" desc="Generated Code">
   private void initComponents() {
    jPanel1 = new javax.swing.JPanel();
    userLabel = new javax.swing.JLabel();
    passLabel = new javax.swing.JLabel();
    us = new javax.swing.JTextField();
    pw = new javax.swing.JPasswordField();
    jComboBox1 = new javax.swing.JComboBox();
    jLabel1 = new javax.swing.JLabel();
    delBt = new javax.swing.JButton();
    valBt = new javax.swing.JButton();
    menuBar = new javax.swing.JMenuBar();
    fileMenu = new javax.swing.JMenu();
    openMenuItem = new javax.swing.JMenuItem();
    saveMenuItem = new javax.swing.JMenuItem();
    saveAsMenuItem = new javax.swing.JMenuItem();
    exitMenuItem = new javax.swing.JMenuItem();
    editMenu = new javax.swing.JMenu();
    cutMenuItem = new javax.swing.JMenuItem();
    copyMenuItem = new javax.swing.JMenuItem();
    pasteMenuItem = new javax.swing.JMenuItem();
    deleteMenuItem = new javax.swing.JMenuItem();
    helpMenu = new javax.swing.JMenu();
    contentsMenuItem = new javax.swing.JMenuItem();
    aboutMenuItem = new javax.swing.JMenuItem();
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setPreferredSize(new java.awt.Dimension(400, 400));
    jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Formulário de Login"));
    userLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    userLabel.setText("Username:");
    passLabel.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    passLabel.setText("Password:");
    jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Escolha", "Administrador", "Docente" }));
    jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    jLabel1.setText("Tipo de User:");
    delBt.setText("Apagar");
    delBt.addMouseListener(new java.awt.event.MouseAdapter() {
	    public void mouseClicked(java.awt.event.MouseEvent evt) {
		    delBtMouseClicked(evt);
	    }
    });
    valBt.setText("Validar");
    valBt.addMouseListener(new java.awt.event.MouseAdapter() {
	    public void mouseClicked(java.awt.event.MouseEvent evt) {
		    valBtMouseClicked(evt);
	    }
    });
    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
    jPanel1.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(
	    jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	    .addGroup(jPanel1Layout.createSequentialGroup()
		    .addGap(23, 23, 23)
		    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
			    .addComponent(userLabel)
			    .addComponent(passLabel)
			    .addComponent(jLabel1))
		    .addGap(18, 18, 18)
		    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
			    .addComponent(us)
			    .addComponent(pw)
			    .addGroup(jPanel1Layout.createSequentialGroup()
				    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
					    .addComponent(delBt)
					    .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 127, javax.swing.GroupLayout.PREFERRED_SIZE))
				    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
				    .addComponent(valBt)))
		    .addContainerGap(56, Short.MAX_VALUE))
    );
    jPanel1Layout.setVerticalGroup(
	    jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	    .addGroup(jPanel1Layout.createSequentialGroup()
		    .addGap(37, 37, 37)
		    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
			    .addComponent(userLabel)
			    .addComponent(us, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
		    .addGap(25, 25, 25)
		    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
			    .addComponent(passLabel)
			    .addComponent(pw, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
		    .addGap(34, 34, 34)
		    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
			    .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
			    .addComponent(jLabel1))
		    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 44, Short.MAX_VALUE)
		    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
			    .addComponent(delBt)
			    .addComponent(valBt))
		    .addContainerGap())
    );
    fileMenu.setMnemonic('f');
    fileMenu.setText("File");
    openMenuItem.setMnemonic('o');
    openMenuItem.setText("Open");
    fileMenu.add(openMenuItem);
    saveMenuItem.setMnemonic('s');
    saveMenuItem.setText("Save");
    fileMenu.add(saveMenuItem);
    saveAsMenuItem.setMnemonic('a');
    saveAsMenuItem.setText("Save As ...");
    saveAsMenuItem.setDisplayedMnemonicIndex(5);
    fileMenu.add(saveAsMenuItem);
    exitMenuItem.setMnemonic('x');
    exitMenuItem.setText("Exit");
    exitMenuItem.addActionListener(new java.awt.event.ActionListener() {
	    public void actionPerformed(java.awt.event.ActionEvent evt) {
		    exitMenuItemActionPerformed(evt);
	    }
    });
    fileMenu.add(exitMenuItem);
    menuBar.add(fileMenu);
    editMenu.setMnemonic('e');
    editMenu.setText("Edit");
    cutMenuItem.setMnemonic('t');
    cutMenuItem.setText("Cut");
    editMenu.add(cutMenuItem);
    copyMenuItem.setMnemonic('y');
    copyMenuItem.setText("Copy");
    editMenu.add(copyMenuItem);
    pasteMenuItem.setMnemonic('p');
    pasteMenuItem.setText("Paste");
    editMenu.add(pasteMenuItem);
    deleteMenuItem.setMnemonic('d');
    deleteMenuItem.setText("Delete");
    editMenu.add(deleteMenuItem);
    menuBar.add(editMenu);
    helpMenu.setMnemonic('h');
    helpMenu.setText("Help");
    contentsMenuItem.setMnemonic('c');
    contentsMenuItem.setText("Contents");
    helpMenu.add(contentsMenuItem);
    aboutMenuItem.setMnemonic('a');
    aboutMenuItem.setText("About");
    helpMenu.add(aboutMenuItem);
    menuBar.add(helpMenu);
    setJMenuBar(menuBar);
    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
	    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	    .addGroup(layout.createSequentialGroup()
		    .addContainerGap()
		    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		    .addContainerGap())
    );
    layout.setVerticalGroup(
	    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	    .addGroup(layout.createSequentialGroup()
		    .addContainerGap()
		    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		    .addContainerGap())
    );
    pack();
   }// </editor-fold>
   private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {											
    System.exit(0);
   }										   
   private void delBtMouseClicked(java.awt.event.MouseEvent evt) {
    // TODO add your handling code here:
    us.setText("");
    pw.setText("");
   }
   private void valBtMouseClicked(java.awt.event.MouseEvent evt) {
    // TODO add your handling code here:
    String sql = "select * from admin where user = ? and pass = ?";
    try {
	    pst = con.prepareStatement(sql);
	    pst.setString(1, us.getText());
	    pst.setString(2, pw.getText());
	    rs = pst.executeQuery();
	    if (rs.next()) {
		    JOptionPane.showMessageDialog(null, "Os dados estão corretos ");
	    } else {
		    JOptionPane.showMessageDialog(null, "Os dados estão errados...");
	    }
    } catch (SQLException | HeadlessException e) {
	    JOptionPane.showMessageDialog(null, e);
    }
   }
   /**
 * @param args the command line arguments
 */
   public static void main(String args[]) {
    /* Set the Nimbus look and feel */
    //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
    /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
	 * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
	 */
    try {
	    for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
		    if ("Nimbus".equals(info.getName())) {
			    javax.swing.UIManager.setLookAndFeel(info.getClassName());
			    break;
		    }
	    }
    } catch (ClassNotFoundException ex) {
	    java.util.logging.Logger.getLogger(entrada.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
	    java.util.logging.Logger.getLogger(entrada.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
	    java.util.logging.Logger.getLogger(entrada.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
	    java.util.logging.Logger.getLogger(entrada.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //</editor-fold>
    /* Create and display the form */
    java.awt.EventQueue.invokeLater(new Runnable() {
	    public void run() {
		    new entrada().setVisible(true);
	    }
    });
   }
   // Variables declaration - do not modify
   private javax.swing.JMenuItem aboutMenuItem;
   private javax.swing.JMenuItem contentsMenuItem;
   private javax.swing.JMenuItem copyMenuItem;
   private javax.swing.JMenuItem cutMenuItem;
   private javax.swing.JButton delBt;
   private javax.swing.JMenuItem deleteMenuItem;
   private javax.swing.JMenu editMenu;
   private javax.swing.JMenuItem exitMenuItem;
   private javax.swing.JMenu fileMenu;
   private javax.swing.JMenu helpMenu;
   private javax.swing.JComboBox jComboBox1;
   private javax.swing.JLabel jLabel1;
   private javax.swing.JPanel jPanel1;
   private javax.swing.JMenuBar menuBar;
   private javax.swing.JMenuItem openMenuItem;
   private javax.swing.JLabel passLabel;
   private javax.swing.JMenuItem pasteMenuItem;
   private javax.swing.JPasswordField pw;
   private javax.swing.JMenuItem saveAsMenuItem;
   private javax.swing.JMenuItem saveMenuItem;
   private javax.swing.JTextField us;
   private javax.swing.JLabel userLabel;
   private javax.swing.JButton valBt;
   // End of variables declaration
}

Ligacao BD

package req;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class LigacaoBd {

   static Connection conecta()
   {
    Connection conexao = null;
    String driver = "com.mysql.jdbc.Driver";
    String url = "jdbc:mysql://localhost:3306/reserva_salas";
    String login = "root";
    String pass = "";
    try
    {
	    Class.forName(driver);
	    conexao = DriverManager.getConnection(url, login, pass);
	    System.out.println("Ligado à Base de dados");		
    }
    catch (ClassNotFoundException | SQLException e)
    {
    }
    return conexao;
   }
}

Quando carregar no "validar"

dá isso

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

at req.entrada.valBtMouseClicked(entrada.java:235)

at req.entrada.access$100(entrada.java:18)

at req.entrada$2.mouseClicked(entrada.java:89)

at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)

at java.awt.Component.processMouseEvent(Component.java:6508)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)

at java.awt.Component.processEvent(Component.java:6270)

at java.awt.Container.processEvent(Container.java:2229)

at java.awt.Component.dispatchEventImpl(Component.java:4861)

at java.awt.Container.dispatchEventImpl(Container.java:2287)

at java.awt.Component.dispatchEvent(Component.java:4687)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4501)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)

at java.awt.Container.dispatchEventImpl(Container.java:2273)

at java.awt.window.dispatchEventImpl(window.java:2719)

at java.awt.Component.dispatchEvent(Component.java:4687)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)

at java.awt.EventQueue.access$200(EventQueue.java:103)

at java.awt.EventQueue$3.run(EventQueue.java:688)

at java.awt.EventQueue$3.run(EventQueue.java:686)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)

at java.awt.EventQueue$4.run(EventQueue.java:702)

at java.awt.EventQueue$4.run(EventQueue.java:700)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

enquanto apresentares código e não responderes às perguntas será impossível te responder

que linha é esta ? : at req.entrada.valBtMouseClicked(entrada.java:235)


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
alphasil

Esta é a linha

pst = con.prepareStatement(sql);

Vai executar várias instruções na base de dados de forma repetida, neste caso quero que faça uma query para validar dados de login

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

a variável this.con ainda não foi inicializada no momento da chamada (que pelos vistos é quando carregas no botão do rato sobre alguma coisa)


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
alphasil

Tenho um exemplo parecido que me funciona....se reparares na LigacaoBd.java tenho um print que me diz que há ligação a BD, neste exemplo a frase não me aparece....que me falta?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

o que falta não sei, é impossível responder sem informação ... mas o que deverias fazer era saber que erro deu:

           try
           {
                   Class.forName(driver);
                   conexao = DriverManager.getConnection(url, login, pass);
                   System.out.println("Ligado à Base de dados");              
           }
           catch (ClassNotFoundException e)
           {
           }
           catch (SQLException e)
           {
               System.out.println("Erro de ligação à base de dados : " + e.getMessage());
           }


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

bem ... nesse caso o problema é pior .. .o erro é não teres a classe pedida:

           try
           {
                   Class.forName(driver);
                   conexao = DriverManager.getConnection(url, login, pass);
                   System.out.println("Ligado à Base de dados");              
           }
           catch (ClassNotFoundException e)
           {
               System.out.println("Classe não encontrada : " + e.getMessage());
           }
           catch (SQLException e)
           {
               System.out.println("Erro de ligação à base de dados : " + e.getMessage());
           }


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
alphasil

De volta

Já me faz a ligação à BD mas o código aqui está errado, visto que não me faz nada

try {

		    String log = "select * from admin where user = ? and pass = ?";
		    ResultSet rs = statement.executeQuery(log);
		    PreparedStatement pst = conexaoDB.prepareStatement(log);
		    pst.setString(1, us.getText());
		    pst.setString(2, pw.getText());

		    if (rs.next()) {
			    msg.setText("Dados corretos");
		    } else {
			    msg.setText("Dados incorretos");
		    }
	    } catch (SQLException | HeadlessException e) {
	    }

O código completo está aqui.

package gmc;
import java.awt.HeadlessException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Entrada extends javax.swing.JFrame {
   public Statement statement = null;
   public Connection conexaoDB = null;
   public Entrada() throws SQLException {
    initComponents();
    this.setLocationRelativeTo(null);
    DBCon conexao = new DBCon();
    conexaoDB = conexao.getConnection();
    statement = conexaoDB.createStatement();
   }
   @SuppressWarnings("unchecked")
   // <editor-fold defaultstate="collapsed" desc="Generated Code">
   private void initComponents() {
    jPanel1 = new javax.swing.JPanel();
    jLabel1 = new javax.swing.JLabel();
    jLabel2 = new javax.swing.JLabel();
    us = new javax.swing.JTextField();
    pw = new javax.swing.JPasswordField();
    jLabel3 = new javax.swing.JLabel();
    combo = new javax.swing.JComboBox();
    apagarTexto = new javax.swing.JButton();
    validarLogin = new javax.swing.JButton();
    msg = new javax.swing.JLabel();
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setTitle("Formulário de Login");
    jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Insira os seus dados", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Verdana", 1, 12))); // NOI18N
    jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    jLabel1.setText("Username:");
    jLabel2.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    jLabel2.setText("Password:");
    jLabel3.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
    jLabel3.setText("Tipo de User:");
    combo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Escolha", "Administrador", "Docente" }));
    apagarTexto.setText("Apagar");
    apagarTexto.addActionListener(new java.awt.event.ActionListener() {
	    public void actionPerformed(java.awt.event.ActionEvent evt) {
		    apagarTextoActionPerformed(evt);
	    }
    });
    validarLogin.setText("Validar");
    validarLogin.addActionListener(new java.awt.event.ActionListener() {
	    public void actionPerformed(java.awt.event.ActionEvent evt) {
		    validarLoginActionPerformed(evt);
	    }
    });
    msg.setForeground(new java.awt.Color(255, 0, 0));
    msg.setText("jLabel4");
    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
    jPanel1.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(
	    jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	    .addGroup(jPanel1Layout.createSequentialGroup()
		    .addContainerGap()
		    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
			    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
				    .addGroup(jPanel1Layout.createSequentialGroup()
					    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
						    .addComponent(jLabel1)
						    .addComponent(jLabel2))
					    .addGap(18, 18, 18)
					    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
						    .addComponent(us)
						    .addComponent(pw, javax.swing.GroupLayout.DEFAULT_SIZE, 200, Short.MAX_VALUE)))
				    .addGroup(jPanel1Layout.createSequentialGroup()
					    .addComponent(jLabel3)
					    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
					    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
						    .addGroup(jPanel1Layout.createSequentialGroup()
							    .addComponent(apagarTexto)
							    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 64, Short.MAX_VALUE)
							    .addComponent(validarLogin))
						    .addComponent(combo, javax.swing.GroupLayout.PREFERRED_SIZE, 129, javax.swing.GroupLayout.PREFERRED_SIZE))))
			    .addComponent(msg, javax.swing.GroupLayout.PREFERRED_SIZE, 196, javax.swing.GroupLayout.PREFERRED_SIZE))
		    .addContainerGap(79, Short.MAX_VALUE))
    );
    jPanel1Layout.setVerticalGroup(
	    jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	    .addGroup(jPanel1Layout.createSequentialGroup()
		    .addGap(44, 44, 44)
		    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
			    .addComponent(jLabel1)
			    .addComponent(us, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
		    .addGap(35, 35, 35)
		    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
			    .addComponent(jLabel2)
			    .addComponent(pw, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
		    .addGap(39, 39, 39)
		    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
			    .addComponent(jLabel3)
			    .addComponent(combo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
		    .addGap(18, 18, 18)
		    .addComponent(msg)
		    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 20, Short.MAX_VALUE)
		    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
			    .addComponent(apagarTexto)
			    .addComponent(validarLogin)))
    );
    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
	    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	    .addGroup(layout.createSequentialGroup()
		    .addContainerGap()
		    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		    .addContainerGap())
    );
    layout.setVerticalGroup(
	    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	    .addGroup(layout.createSequentialGroup()
		    .addContainerGap()
		    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		    .addContainerGap())
    );
    pack();
   }// </editor-fold>
   private void apagarTextoActionPerformed(java.awt.event.ActionEvent evt) {
    us.setText("");
    pw.setText("");
   }
   private void validarLoginActionPerformed(java.awt.event.ActionEvent evt) {
    if (combo.getSelectedItem().equals("Administrador")) {
	    try {
		    String log = "select * from admin where user = ? and pass = ?";
		    ResultSet rs = statement.executeQuery(log);
		    PreparedStatement pst = conexaoDB.prepareStatement(log);
		    pst.setString(1, us.getText());
		    pst.setString(2, pw.getText());
		    if (rs.next()) {
			    msg.setText("Dados corretos");
		    } else {
			    msg.setText("Dados incorretos");
		    }
	    } catch (SQLException | HeadlessException e) {
	    }
   }
   }
   public static void main(String args[]) {
    /* Set the Nimbus look and feel */
    //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
    /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
	 * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
	 */
    try {
	    for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
		    if ("Nimbus".equals(info.getName())) {
			    javax.swing.UIManager.setLookAndFeel(info.getClassName());
			    break;
		    }
	    }
    } catch (ClassNotFoundException ex) {
	    java.util.logging.Logger.getLogger(Entrada.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
	    java.util.logging.Logger.getLogger(Entrada.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
	    java.util.logging.Logger.getLogger(Entrada.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
	    java.util.logging.Logger.getLogger(Entrada.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //</editor-fold>
    /* Create and display the form */
    java.awt.EventQueue.invokeLater(new Runnable() {
	    public void run() {
		    try {
			    new Entrada().setVisible(true);
		    } catch (SQLException ex) {
			    Logger.getLogger(Entrada.class.getName()).log(Level.SEVERE, null, ex);
		    }
	    }
    });
   }
   // Variables declaration - do not modify
   private javax.swing.JButton apagarTexto;
   private javax.swing.JComboBox combo;
   private javax.swing.JLabel jLabel1;
   private javax.swing.JLabel jLabel2;
   private javax.swing.JLabel jLabel3;
   private javax.swing.JPanel jPanel1;
   private javax.swing.JLabel msg;
   private javax.swing.JPasswordField pw;
   private javax.swing.JTextField us;
   private javax.swing.JButton validarLogin;
   // End of variables declaration
}

Quando faço run aparece-me

run:

Teste à conexão BD

Driver registado

A ligação foi efetuada corretamente

Algum erro acima?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

o erro é claro, mas se tiveres uma mensagem de erro no catch serás capaz de verificar qual é

ps : de preferência que faças output da mensagem da excecção

Editado por HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
alphasil

Pus uma mensagem em catch e diz-me isso

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? and pass=?' at line 1

O que não estou a ver visto que noutro exemplo funciona..

Que tem de mal esta linha?

"select * from admin where user=? and pass=?"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

porque estás a mandar executar uma query e só depois crias o prepared statement, que no final não fazes nada com ele ?


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
alphasil

Tens razão, estava a executar a query antes, mas mesmo assim há algo de errado, tenho o mesmo erro

private void validarLoginActionPerformed(java.awt.event.ActionEvent evt) {											
 if (combo.getSelectedItem().equals("Administrador")) {

	 try {
		 String log = "select * from admin where user=? and pass=?";
		 PreparedStatement pst = conexaoDB.prepareStatement(log);
		 pst.setString(1, us.getText());
		 pst.setString(2, pw.getText());
		 ResultSet rs = statement.executeQuery(log);
		 if (rs.next()) {
			 msg.setText("Dados corretos");
		 } else {
			 msg.setText("Dados incorretos");
		 }
	 } catch (SQLException | HeadlessException e) {
		 System.out.println("Erro : " + e.getMessage());
	 }
}										
}

Teste à conexão BD

Driver registado

A ligação foi efetuada corretamente

Erro de ligação à base de dados : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '? and pass=?' at line 1

BUILD SUCCESSFUL (total time: 11 seconds)

Já não percebo o que se passa

Editado por alphasil

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

crias o prepared statement mas não fazes nada com ele ...

pensa no que realmente estás a fazer na seguinte linha :

ResultSet rs = statement.executeQuery(log); // aonde nesta linha aparece o "pst" ??


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
alphasil

Também não era só

Resolvi assim

private void validarLoginActionPerformed(java.awt.event.ActionEvent evt) {											

    String valor1=us.getText();
    String valor2=pw.getText();
    if (combo.getSelectedItem().equals("Administrador")) {

	    try {

		    String user1="";
		    String pass1="";
		    ResultSet res = statement.executeQuery("SELECT * FROM admin where user='"+valor1+"' && pass='"+valor2+"'");
		    while (res.next())
		    {
		    user1 = res.getString("user");
		    pass1 = res.getString("pass");
		    }
		    if (valor1.equals(user1) && valor2.equals(pass1)) {
			    msg.setText("Dados corretos");
		    } else {
			    msg.setText("Dados incorretos");
		    }
	    } catch (SQLException | HeadlessException e) {
		    System.out.println("Erro : " + e.getMessage());
	    }
   }				  

Obrigado HHH, já agora, aconselhas a criar um form com tabs para operações diversas (criar, editar/modificar/apagar e visualizar registos ou um form para cada?,

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

private void validarLoginActionPerformed(java.awt.event.ActionEvent evt) {                                                                                      
        if (combo.getSelectedItem().equals("Administrador")) {

                try {
                        String log = "select * from admin where user=? and pass=?";
                        PreparedStatement pst = conexaoDB.prepareStatement(log);
                        pst.setString(1, us.getText());
                        pst.setString(2, pw.getText());
                        ResultSet rs = pst.executeQuery(); // <---- executar o prepared statement
                        if (rs.next()) {
                                msg.setText("Dados corretos");
                        } else {
                                msg.setText("Dados incorretos");
                        }
                } catch (SQLException | HeadlessException e) {
                        System.out.println("Erro : " + e.getMessage());
                }
}                                                                               
}

um form para cada, tabs é vários tipos de informação de um objecto e não para tipos diferentes de acções sobre o mesmo objecto


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
alphasil

Oi HHH

Pus assim até agora

public class Admin extends javax.swing.JFrame {
   public Admin() {
    initComponents();
    this.setLocationRelativeTo(null);
   }
   @SuppressWarnings("unchecked")
   // <editor-fold defaultstate="collapsed" desc="Generated Code">
   private void initComponents() {
    jPanel1 = new javax.swing.JPanel();
    admin = new javax.swing.JButton();
    profs = new javax.swing.JButton();
    equip = new javax.swing.JButton();
    funcionarios = new javax.swing.JButton();
    menuBar = new javax.swing.JMenuBar();
    fileMenu = new javax.swing.JMenu();
    exitMenuItem = new javax.swing.JMenuItem();
    helpMenu = new javax.swing.JMenu();
    contentsMenuItem = new javax.swing.JMenuItem();
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    setTitle("Painel de Navegação");
    admin.setIcon(new javax.swing.ImageIcon(getClass().getResource("/admin.png"))); // NOI18N
    admin.addMouseListener(new java.awt.event.MouseAdapter() {
	    public void mouseClicked(java.awt.event.MouseEvent evt) {
		    adminMouseClicked(evt);
	    }
	    public void mouseEntered(java.awt.event.MouseEvent evt) {
		    adminMouseEntered(evt);
	    }
    });
    profs.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gmc/Teachers.png"))); // NOI18N
    profs.addMouseListener(new java.awt.event.MouseAdapter() {
	    public void mouseClicked(java.awt.event.MouseEvent evt) {
		    profsMouseClicked(evt);
	    }
	    public void mouseEntered(java.awt.event.MouseEvent evt) {
		    profsMouseEntered(evt);
	    }
    });
    equip.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gmc/multimedia.png"))); // NOI18N
    equip.addMouseListener(new java.awt.event.MouseAdapter() {
	    public void mouseClicked(java.awt.event.MouseEvent evt) {
		    equipMouseClicked(evt);
	    }
	    public void mouseEntered(java.awt.event.MouseEvent evt) {
		    equipMouseEntered(evt);
	    }
    });
    funcionarios.setIcon(new javax.swing.ImageIcon(getClass().getResource("/gmc/user.png"))); // NOI18N
    funcionarios.addMouseListener(new java.awt.event.MouseAdapter() {
	    public void mouseClicked(java.awt.event.MouseEvent evt) {
		    funcionariosMouseClicked(evt);
	    }
	    public void mouseEntered(java.awt.event.MouseEvent evt) {
		    funcionariosMouseEntered(evt);
	    }
    });
    javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
    jPanel1.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(
	    jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	    .addGroup(jPanel1Layout.createSequentialGroup()
		    .addGap(70, 70, 70)
		    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
			    .addComponent(admin)
			    .addComponent(equip))
		    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 52, Short.MAX_VALUE)
		    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
			    .addComponent(profs, javax.swing.GroupLayout.Alignment.TRAILING)
			    .addComponent(funcionarios, javax.swing.GroupLayout.Alignment.TRAILING))
		    .addGap(70, 70, 70))
    );
    jPanel1Layout.setVerticalGroup(
	    jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	    .addGroup(jPanel1Layout.createSequentialGroup()
		    .addGap(40, 40, 40)
		    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
			    .addComponent(profs)
			    .addComponent(admin))
		    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 47, Short.MAX_VALUE)
		    .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
			    .addComponent(equip)
			    .addComponent(funcionarios))
		    .addGap(40, 40, 40))
    );
    fileMenu.setMnemonic('f');
    fileMenu.setText("Menu");
    exitMenuItem.setMnemonic('x');
    exitMenuItem.setText("Sair");
    exitMenuItem.addActionListener(new java.awt.event.ActionListener() {
	    public void actionPerformed(java.awt.event.ActionEvent evt) {
		    exitMenuItemActionPerformed(evt);
	    }
    });
    fileMenu.add(exitMenuItem);
    menuBar.add(fileMenu);
    helpMenu.setMnemonic('h');
    helpMenu.setText("Ajuda");
    contentsMenuItem.setMnemonic('c');
    contentsMenuItem.setText("Conteúdo");
    contentsMenuItem.addActionListener(new java.awt.event.ActionListener() {
	    public void actionPerformed(java.awt.event.ActionEvent evt) {
		    contentsMenuItemActionPerformed(evt);
	    }
    });
    helpMenu.add(contentsMenuItem);
    menuBar.add(helpMenu);
    setJMenuBar(menuBar);
    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
	    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	    .addGroup(layout.createSequentialGroup()
		    .addContainerGap()
		    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		    .addContainerGap())
    );
    layout.setVerticalGroup(
	    layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
	    .addGroup(layout.createSequentialGroup()
		    .addContainerGap()
		    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
		    .addContainerGap())
    );
    pack();
   }// </editor-fold>
   private void exitMenuItemActionPerformed(java.awt.event.ActionEvent evt) {											
    System.exit(0);
   }										   
   private void contentsMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
   }
   private void adminMouseClicked(java.awt.event.MouseEvent evt) {
    // TODO add your handling code here:

   }
   private void adminMouseEntered(java.awt.event.MouseEvent evt) {
    admin.setToolTipText("Administração de Users");
   }
   private void profsMouseClicked(java.awt.event.MouseEvent evt) {
    // TODO add your handling code here:
   }
   private void profsMouseEntered(java.awt.event.MouseEvent evt) {
    profs.setToolTipText("Gestão de Docentes");
   }
   private void equipMouseClicked(java.awt.event.MouseEvent evt) {
    // TODO add your handling code here:
   }
   private void equipMouseEntered(java.awt.event.MouseEvent evt) {
    equip.setToolTipText("Gestão de equipamentos");
   }
   private void funcionariosMouseClicked(java.awt.event.MouseEvent evt) {
    // TODO add your handling code here:
   }
   private void funcionariosMouseEntered(java.awt.event.MouseEvent evt) {
    funcionarios.setToolTipText("Gestão Funcionários");
   }
   /**
 * @param args the command line arguments
 */
   public static void main(String args[]) {
    /* Set the Nimbus look and feel */
    //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
    /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
	 * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
	 */
    try {
	    for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
		    if ("Nimbus".equals(info.getName())) {
			    javax.swing.UIManager.setLookAndFeel(info.getClassName());
			    break;
		    }
	    }
    } catch (ClassNotFoundException ex) {
	    java.util.logging.Logger.getLogger(Admin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
	    java.util.logging.Logger.getLogger(Admin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
	    java.util.logging.Logger.getLogger(Admin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
	    java.util.logging.Logger.getLogger(Admin.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //</editor-fold>
    /* Create and display the form */
    java.awt.EventQueue.invokeLater(new Runnable() {
	    public void run() {
		    new Admin().setVisible(true);
	    }
    });
   }
   // Variables declaration - do not modify
   private javax.swing.JButton admin;
   private javax.swing.JMenuItem contentsMenuItem;
   private javax.swing.JButton equip;
   private javax.swing.JMenuItem exitMenuItem;
   private javax.swing.JMenu fileMenu;
   private javax.swing.JButton funcionarios;
   private javax.swing.JMenu helpMenu;
   private javax.swing.JPanel jPanel1;
   private javax.swing.JMenuBar menuBar;
   private javax.swing.JButton profs;
   // End of variables declaration
}

Que tal??

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.