java 鼠标点击事件
我写了一个隐藏的面板,我单击一个按钮时会使这个面板显示,可是我不想让那个面板一直显示。我想单击别的地方时,面板隐藏,如何实现?谢谢了!!!...
我写了一个隐藏的面板,我单击一个按钮时会使这个面板显示,可是我不想让那个面板一直显示。我想单击别的地方时,面板隐藏,如何实现?谢谢了!!!
展开
3个回答
展开全部
setVisible(boolean aFlag) 使该组件可见或不可见。
doLayout() 使此容器布置其组件。大部分程序不应该直接调用此方法,而是应该调用 validate 方法。
首先点击别的地方的时候,调用 那个面板.setvisible(false),然后调用dolayout()
doLayout() 使此容器布置其组件。大部分程序不应该直接调用此方法,而是应该调用 validate 方法。
首先点击别的地方的时候,调用 那个面板.setvisible(false),然后调用dolayout()
追问
大侠!一看你就是高手!可是你说的我没有太明白。点击别的地方不是应该有个事件吗?怎么写那个事件啊?还有点击别的地方如何能调用面板的setvisible(false);方法啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
package click;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class GUI {
JFrame frame ;
JPanel panel ;
public GUI() {
this.frame = createFrame() ;
this.panel = createPanel() ;
frame.add(panel);
frame.setSize(600,600);
frame.setLocation(100,100);
frame.setVisible(true);
}
private JPanel createPanel() {
JPanel p = new JPanel() ;
final JPanel pp = createPanelNew() ;
JButton b1 = new JButton("显示") ;
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("显示");
pp.setVisible(true) ;
}
}) ;
JButton b2 = new JButton("隐藏") ;
b2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("隐藏");
pp.setVisible(false) ;
}
}) ;
p.add(pp) ;
p.add(b1) ;
p.add(b2) ;
return p;
}
private JPanel createPanelNew() {
JPanel p = new JPanel() ;
p.setBackground(new Color(255, 100, 0)) ;
p.setVisible(false) ;
return p;
}
private JFrame createFrame() {
JFrame f = new JFrame("隐藏面板测试") ;
return f;
}
public static void main(String[] args) {
new GUI() ;
}
}
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class GUI {
JFrame frame ;
JPanel panel ;
public GUI() {
this.frame = createFrame() ;
this.panel = createPanel() ;
frame.add(panel);
frame.setSize(600,600);
frame.setLocation(100,100);
frame.setVisible(true);
}
private JPanel createPanel() {
JPanel p = new JPanel() ;
final JPanel pp = createPanelNew() ;
JButton b1 = new JButton("显示") ;
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("显示");
pp.setVisible(true) ;
}
}) ;
JButton b2 = new JButton("隐藏") ;
b2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("隐藏");
pp.setVisible(false) ;
}
}) ;
p.add(pp) ;
p.add(b1) ;
p.add(b2) ;
return p;
}
private JPanel createPanelNew() {
JPanel p = new JPanel() ;
p.setBackground(new Color(255, 100, 0)) ;
p.setVisible(false) ;
return p;
}
private JFrame createFrame() {
JFrame f = new JFrame("隐藏面板测试") ;
return f;
}
public static void main(String[] args) {
new GUI() ;
}
}
更多追问追答
追问
显示的时候有按钮,隐藏的时候只是点击空白处,没有隐藏的按钮。
追答
鼠标离开 显示按钮就隐藏起来行吗?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询