我是新來的java。我確實有一門Java課程,但我想提前完成。我很喜歡!這是我的問題。我試圖畫出遊戲所需的兩個划槳。我爲他們做創建2名對象,他們都「秀」,但會發生以下情況:JPanels不會出現在JFame中
主要亞軍
import javax.swing.JFrame;
public class PongRunner {
public static void main (String[] args)
{
new PongRunner();
}
public PongRunner()
{
JFrame PongFrame= new JFrame();
PongFrame.setSize(800,600);
PongFrame.add(new PaddleB());
PongFrame.add(new PaddleA());
PongFrame.setLocationRelativeTo(null);
PongFrame.setTitle("My Pong Game");
PongFrame.setResizable(false);
PongFrame.setVisible(true);
PongFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
PaddleA
和PaddleB
都的drawRect圖形,繪製一個特定的矩形區域。
我告訴JFrame
要先添加的圖形是唯一可見的圖形。它下面的那個不會被添加到框架中我想知道爲什麼,以及如何在同一個JFrame
中繪製兩個槳...我正在閱讀我的書並儘可能地在互聯網上查看,但沒有運氣這兩天。一些幫助會很好。我剛開始學習java,我想我正在取得進展。有些提示會很好,謝謝:),actionListener
,因爲我將不得不使用它們來移動槳! BOTH槳的
源代碼如下:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JPanel;
import javax.swing.Timer;
public class PaddleA extends JPanel implements ActionListener
{
private Timer timer;
public void timer()
{
timer = new Timer(25, this);
timer.start();
}
public void actionPerformed(ActionEvent e)
{
repaint();
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(Color.RED);
g.fillRect(70,200,20,100);
}
}
PaddleB:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JPanel;
import javax.swing.Timer;
public class PaddleB extends JPanel implements ActionListener
{
private Timer timer;
public void timer()
{
timer = new Timer(25, this);
timer.start();
}
public void actionPerformed(ActionEvent e)
{
repaint();
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.setColor(Color.BLUE);
g.fillRect(500, 200, 20, 100);
}
}
你真的相信這是一個刻板的邏輯適當的標題? – Aerus
-1爲近距離選民。這個問題非常清楚,並且符合Stack Overflow的要求。 –