【发布时间】:2017-03-12 09:09:20
【问题描述】:
我正在尝试在我的 Java 面板 1 上创建此框,但屏幕上没有显示任何内容:/ 有什么问题?抱歉,我是 Java 动画的新手,它太难了!另外,我希望该框仅出现在第一个面板上而不是第二个面板上移动。这是我的代码。
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class frog extends JPanel implements ActionListener{
JFrame frame= new JFrame();
JPanel panel=new JPanel();
JButton button = new JButton("Hungry");
JPanel panel2=new JPanel();
JTextField t;
Timer tm= new Timer(5, this);
int x=0, velX=2;
public void paintComponent(Graphics g){
super.paintComponents(g);
g.setColor(Color.RED);
g.drawRect(100,10,30,40);
g.fillRect(x,10,20,10);
tm.start();
}
JLabel l= new JLabel("Good");
frog(){
panel.setBackground(Color.CYAN);
panel2.setBackground(Color.GREEN);
t= new JTextField("Frog is hungry",10);
panel2.add(t);
panel2.add(button);
frame.add(panel,BorderLayout.CENTER);
frame.add(panel2,BorderLayout.PAGE_END);
button.addActionListener(this);
frame.setSize(500,400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public static void main(String[] args) {
frog f= new frog();
}
@Override
public void actionPerformed(ActionEvent e) {
t.setText("Now he is full");
x=x+velX;
repaint();
}
}
【问题讨论】:
-
欢迎来到 Stack Overflow!看起来你可能正在寻求家庭作业帮助。虽然我们对此本身没有任何问题,但请注意这些dos and don'ts,并相应地编辑您的问题。 (即使这不是家庭作业,也请考虑建议。)
-
当我对您的代码摸不着头脑时,请阅读 Painting in AWT and Swing 和 Performing Custom Painting 以更好地了解绘画在 Swing 中的工作原理
标签: java arrays swing animation jpanel