[英]Java: How can I get rid of a specific JPanel by clicking an arrow key?
这是我创建图形文本的内部类。 我希望能够按箭头键让它消失。 我确定它以某种方式涉及删除方法,但我在我的脑海中。 非常新的。
// STARTUP TEXT
class TextPanel extends JPanel implements KeyListener{
// CONSTRUCTOR
public TextPanel(){
addKeyListener(this);
setFocusable(true);
setFocusTraversalKeysEnabled(false);
}
// PAINT METHOD
public void paintComponent(Graphics g2){
super.paintComponent(g2);
g2.setColor(Color.WHITE);
g2.fillRect(0, 0, this.getWidth(), this.getHeight());
g2.setColor(Color.BLACK);
g2.setFont(new Font("TimesRoman", Font.PLAIN, 14));
g2.drawString("Press an arrow key to start", this.getWidth()/4, this.getHeight()/2);
}
AFAIK你必须使用键绑定来响应箭头键然后删除面板(我认为从帧)使用面板的setVisible(false)
或remove(component)
框架的方法。
/** Handle the key typed event */
public void keyTyped(KeyEvent e) {
}
/** Handle the key-pressed event */
public void keyPressed(KeyEvent e) {
}
/** Handle the key-released event */
public void keyReleased(KeyEvent e) {
int key=e.getKeyCode();
if(key==KeyEvent.VK_LEFT)
{
this.setVisible(false);
}
if(key==KeyEvent.VK_RIGHT)
{
this.setVisible(true);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.