Boa tarde,
gostaria de saber se tem como eu mudar a cor de 1 jpanel ao passar o mouse sobre ele, é que na verdade eu tenho vontade de fazer como se fosse 1 JAVASCRIPT(onmouse) algo desse tipo…
Outra pergunta seria, como se faz esses menus que quando passa o mouse sobre ele, ele recebe destaque?
Info:
Em Aplicação desktop.
JAVA SE.
desculpa se não consegui mim expressar bem.
Grato.
Rode o exemplo abaixo.
package guj;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class ExemploMudarCorJPanel extends JFrame {
private JPanel pnlNorte;
private JLabel lblJpanelNorte;
private JPanel pnlLeste;
private JLabel lblJpanelLeste;
private JPanel pnlOeste;
private JLabel lblJpanelOeste;
private JPanel pnlSul;
private JLabel lblJpanelSul;
private JPanel pnlCentral;
private JLabel lblJPanelCentral;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ExemploMudarCorJPanel frame = new ExemploMudarCorJPanel();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ExemploMudarCorJPanel() {
setBounds(100, 100, 450, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().add(getPnlNorte(), BorderLayout.NORTH);
getContentPane().add(getPnlLeste(), BorderLayout.WEST);
getContentPane().add(getPnlOeste(), BorderLayout.EAST);
getContentPane().add(getPnlSul(), BorderLayout.SOUTH);
getContentPane().add(getPnlCentral(), BorderLayout.CENTER);
}
private JPanel getPnlNorte() {
if (pnlNorte == null) {
pnlNorte = new JPanel();
pnlNorte.add(getLblJpanelNorte());
pnlNorte.addMouseListener(new MouseAdapter() {
private Color clrPanel = null;
@Override
public void mouseEntered(MouseEvent e) {
clrPanel = getPnlNorte().getBackground();
getPnlNorte().setBackground(Color.YELLOW);
}
@Override
public void mouseExited(MouseEvent e) {
if (clrPanel != null)
getPnlNorte().setBackground(clrPanel);
}
});
}
return pnlNorte;
}
private JLabel getLblJpanelNorte() {
if (lblJpanelNorte == null) {
lblJpanelNorte = new JLabel("JPanel Norte");
}
return lblJpanelNorte;
}
private JPanel getPnlLeste() {
if (pnlLeste == null) {
pnlLeste = new JPanel();
pnlLeste.add(getLblJpanelLeste());
pnlLeste.addMouseListener(new MouseAdapter() {
private Color clrPanel = null;
@Override
public void mouseEntered(MouseEvent e) {
clrPanel = getPnlLeste().getBackground();
getPnlLeste().setBackground(Color.BLUE);
}
@Override
public void mouseExited(MouseEvent e) {
if (clrPanel != null)
getPnlLeste().setBackground(clrPanel);
}
});
}
return pnlLeste;
}
private JLabel getLblJpanelLeste() {
if (lblJpanelLeste == null) {
lblJpanelLeste = new JLabel("JPanel Leste");
}
return lblJpanelLeste;
}
private JPanel getPnlOeste() {
if (pnlOeste == null) {
pnlOeste = new JPanel();
pnlOeste.addMouseListener(new MouseAdapter() {
private Color clrPanel = null;
@Override
public void mouseEntered(MouseEvent e) {
clrPanel = getPnlOeste().getBackground();
getPnlOeste().setBackground(Color.GREEN);
}
@Override
public void mouseExited(MouseEvent e) {
if (clrPanel != null)
getPnlOeste().setBackground(clrPanel);
}
});
pnlOeste.add(getLblJpanelOeste());
}
return pnlOeste;
}
private JLabel getLblJpanelOeste() {
if (lblJpanelOeste == null) {
lblJpanelOeste = new JLabel("JPanel Oeste");
}
return lblJpanelOeste;
}
private JPanel getPnlSul() {
if (pnlSul == null) {
pnlSul = new JPanel();
pnlSul.add(getLblJpanelSul());
pnlSul.addMouseListener(new MouseAdapter() {
private Color clrPanel = null;
@Override
public void mouseEntered(MouseEvent e) {
clrPanel = getPnlSul().getBackground();
getPnlSul().setBackground(Color.BLUE);
}
@Override
public void mouseExited(MouseEvent e) {
if (clrPanel != null)
getPnlSul().setBackground(clrPanel);
}
});
}
return pnlSul;
}
private JLabel getLblJpanelSul() {
if (lblJpanelSul == null) {
lblJpanelSul = new JLabel("JPanel Sul");
}
return lblJpanelSul;
}
private JPanel getPnlCentral() {
if (pnlCentral == null) {
pnlCentral = new JPanel();
pnlCentral.addMouseListener(new MouseAdapter() {
private Color clrPanel = null;
@Override
public void mouseEntered(MouseEvent e) {
clrPanel = getPnlCentral().getBackground();
getPnlCentral().setBackground(Color.RED);
}
@Override
public void mouseExited(MouseEvent e) {
if (clrPanel != null)
getPnlCentral().setBackground(clrPanel);
}
});
pnlCentral.add(getLblJPanelCentral());
}
return pnlCentral;
}
private JLabel getLblJPanelCentral() {
if (lblJPanelCentral == null) {
lblJPanelCentral = new JLabel("JPanel Central");
}
return lblJPanelCentral;
}
}
[quote=entanglement]Rode o exemplo abaixo.
[code]
package guj;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class ExemploMudarCorJPanel extends JFrame {
private JPanel pnlNorte;
private JLabel lblJpanelNorte;
private JPanel pnlLeste;
private JLabel lblJpanelLeste;
private JPanel pnlOeste;
private JLabel lblJpanelOeste;
private JPanel pnlSul;
private JLabel lblJpanelSul;
private JPanel pnlCentral;
private JLabel lblJPanelCentral;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
ExemploMudarCorJPanel frame = new ExemploMudarCorJPanel();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public ExemploMudarCorJPanel() {
setBounds(100, 100, 450, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().add(getPnlNorte(), BorderLayout.NORTH);
getContentPane().add(getPnlLeste(), BorderLayout.WEST);
getContentPane().add(getPnlOeste(), BorderLayout.EAST);
getContentPane().add(getPnlSul(), BorderLayout.SOUTH);
getContentPane().add(getPnlCentral(), BorderLayout.CENTER);
}
private JPanel getPnlNorte() {
if (pnlNorte == null) {
pnlNorte = new JPanel();
pnlNorte.add(getLblJpanelNorte());
pnlNorte.addMouseListener(new MouseAdapter() {
private Color clrPanel = null;
@Override
public void mouseEntered(MouseEvent e) {
clrPanel = getPnlNorte().getBackground();
getPnlNorte().setBackground(Color.YELLOW);
}
@Override
public void mouseExited(MouseEvent e) {
if (clrPanel != null)
getPnlNorte().setBackground(clrPanel);
}
});
}
return pnlNorte;
}
private JLabel getLblJpanelNorte() {
if (lblJpanelNorte == null) {
lblJpanelNorte = new JLabel("JPanel Norte");
}
return lblJpanelNorte;
}
private JPanel getPnlLeste() {
if (pnlLeste == null) {
pnlLeste = new JPanel();
pnlLeste.add(getLblJpanelLeste());
pnlLeste.addMouseListener(new MouseAdapter() {
private Color clrPanel = null;
@Override
public void mouseEntered(MouseEvent e) {
clrPanel = getPnlLeste().getBackground();
getPnlLeste().setBackground(Color.BLUE);
}
@Override
public void mouseExited(MouseEvent e) {
if (clrPanel != null)
getPnlLeste().setBackground(clrPanel);
}
});
}
return pnlLeste;
}
private JLabel getLblJpanelLeste() {
if (lblJpanelLeste == null) {
lblJpanelLeste = new JLabel("JPanel Leste");
}
return lblJpanelLeste;
}
private JPanel getPnlOeste() {
if (pnlOeste == null) {
pnlOeste = new JPanel();
pnlOeste.addMouseListener(new MouseAdapter() {
private Color clrPanel = null;
@Override
public void mouseEntered(MouseEvent e) {
clrPanel = getPnlOeste().getBackground();
getPnlOeste().setBackground(Color.GREEN);
}
@Override
public void mouseExited(MouseEvent e) {
if (clrPanel != null)
getPnlOeste().setBackground(clrPanel);
}
});
pnlOeste.add(getLblJpanelOeste());
}
return pnlOeste;
}
private JLabel getLblJpanelOeste() {
if (lblJpanelOeste == null) {
lblJpanelOeste = new JLabel("JPanel Oeste");
}
return lblJpanelOeste;
}
private JPanel getPnlSul() {
if (pnlSul == null) {
pnlSul = new JPanel();
pnlSul.add(getLblJpanelSul());
pnlSul.addMouseListener(new MouseAdapter() {
private Color clrPanel = null;
@Override
public void mouseEntered(MouseEvent e) {
clrPanel = getPnlSul().getBackground();
getPnlSul().setBackground(Color.BLUE);
}
@Override
public void mouseExited(MouseEvent e) {
if (clrPanel != null)
getPnlSul().setBackground(clrPanel);
}
});
}
return pnlSul;
}
private JLabel getLblJpanelSul() {
if (lblJpanelSul == null) {
lblJpanelSul = new JLabel("JPanel Sul");
}
return lblJpanelSul;
}
private JPanel getPnlCentral() {
if (pnlCentral == null) {
pnlCentral = new JPanel();
pnlCentral.addMouseListener(new MouseAdapter() {
private Color clrPanel = null;
@Override
public void mouseEntered(MouseEvent e) {
clrPanel = getPnlCentral().getBackground();
getPnlCentral().setBackground(Color.RED);
}
@Override
public void mouseExited(MouseEvent e) {
if (clrPanel != null)
getPnlCentral().setBackground(clrPanel);
}
});
pnlCentral.add(getLblJPanelCentral());
}
return pnlCentral;
}
private JLabel getLblJPanelCentral() {
if (lblJPanelCentral == null) {
lblJPanelCentral = new JLabel("JPanel Central");
}
return lblJPanelCentral;
}
}
[/code][/quote]
Bom amigo Rodei a aplicação acima, isso mesmo… que eu estava precisando muito obrigado.
Grato ;D