java按钮要鼠标划过去才能显示,怎么解决啊,下面是代码
importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swin...
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class login {
/**
* @param args
*/
private JFrame f = new JFrame("登陆");
private JPanel p = new JPanel();
private JLabel login = new JLabel(new ImageIcon("img//login.jpg" ));
private JTextField text = new JTextField();
private JPasswordField password = new JPasswordField();
private JButton button = new JButton(new ImageIcon("img//OK.jpg"));
private login(){
ButtonListener bl = new ButtonListener();
button.addActionListener(bl);
login.setBounds(-10, -20, 800, 600);
button.setBounds(345, 311, 100, 35);
//button.getFont();
text.setBounds(288, 200, 210, 35);
password.setBounds(288, 245, 210, 35);
button.repaint();
p.setLayout(null);
p.add(login);
p.add(text);
p.add(password);
p.add(button);
f.add(p);
f.setBounds(100, 0, 780,580);
f.setResizable(false);
f.setVisible(true);
}
public class ButtonListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
choose c = new choose();
p.setVisible(false);
f.add(c.p);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new login();
}
} 展开
import java.awt.event.ActionListener;
import javax.swing.*;
public class login {
/**
* @param args
*/
private JFrame f = new JFrame("登陆");
private JPanel p = new JPanel();
private JLabel login = new JLabel(new ImageIcon("img//login.jpg" ));
private JTextField text = new JTextField();
private JPasswordField password = new JPasswordField();
private JButton button = new JButton(new ImageIcon("img//OK.jpg"));
private login(){
ButtonListener bl = new ButtonListener();
button.addActionListener(bl);
login.setBounds(-10, -20, 800, 600);
button.setBounds(345, 311, 100, 35);
//button.getFont();
text.setBounds(288, 200, 210, 35);
password.setBounds(288, 245, 210, 35);
button.repaint();
p.setLayout(null);
p.add(login);
p.add(text);
p.add(password);
p.add(button);
f.add(p);
f.setBounds(100, 0, 780,580);
f.setResizable(false);
f.setVisible(true);
}
public class ButtonListener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
choose c = new choose();
p.setVisible(false);
f.add(c.p);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new login();
}
} 展开
4个回答
展开全部
button.setVisible(false);
login.addMouseMotionListener(new MouseMotionListener() {
public void mouseMoved(MouseEvent e) {
if(e.getX() > button.getX() && e.getY() > button.getY()
&& e.getX() < button.getX()+button.getWidth() && e.getY() < button.getY()+button.getHeight())
button.setVisible(true);
else
button.setVisible(false);
}
public void mouseDragged(MouseEvent e) {
}
});
login.addMouseMotionListener(new MouseMotionListener() {
public void mouseMoved(MouseEvent e) {
if(e.getX() > button.getX() && e.getY() > button.getY()
&& e.getX() < button.getX()+button.getWidth() && e.getY() < button.getY()+button.getHeight())
button.setVisible(true);
else
button.setVisible(false);
}
public void mouseDragged(MouseEvent e) {
}
});
更多追问追答
追问
sorry 啊我说的不够清楚,我现在的问题是必须要鼠标滑过按钮才显示。但是我不要这种效果,要直接就是显示的
追答
你是说显示后就不隐藏了还是什么?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按钮对象.setVisable(true)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
addMouseMotionListener
追问
sorry 啊我说的不够清楚,我现在的问题是必须要鼠标滑过按钮才显示。但是我不要这种效果,要直接就是显示的
追答
那就容易了,把visible设置成true
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
添加mouseOver事件
追问
sorry 啊我说的不够清楚,我现在的问题是必须要鼠标滑过按钮才显示。但是我不要这种效果,要直接就是显示的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询