これが下側と右側をレンダリングしないのはなぜですか。どうすれば修正できますか?何も描画されない小さな白い領域がありますか? これには簡単な修正があると確信していますが、私はあまりにも愚かです。
必要のないものはすべて取り除きましたが、ランダムで役に立たないコードがまだ残っている可能性があります。
package test;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test extends JPanel implements Runnable
{
/**
* Default serial version
*/
private static final long serialVersionUID = 1L;
private static final int WIN_WIDTH = 760;
private static final int WIN_HEIGHT = 480;
private boolean running;
private Thread thread;
public Graphics g;
public Graphics2D g2d;
static final int UPDATE_RATE = 60;
static final long UPDATE_PERIOD = 1000000000L / UPDATE_RATE;
static public final int EONWIDTH = 24;
static public final int EONHEIGHT = 24;
/**
* Contains a list of Eon instances by their instance ID.
*/
///////////////////////////////////CONSTRUCTER/////////////////////////////
public Test()
{
Dimension size = new Dimension(WIN_WIDTH, WIN_HEIGHT);
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
}
/**
* Main java runnable, required
* @param args Unused, required by default
*/
public static void main(String[] args)
{
Test game = new Test();
JFrame frame = new JFrame("See guys, It's off centered... - 00.00.10");
JPanel panel = new JPanel(new BorderLayout());
panel.add(game, BorderLayout.CENTER);
frame.setContentPane(panel);
frame.pack();
frame.isFocusable();
frame.setFocusable(true);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
game.g = game.getGraphics();
game.start(game);
}
private void loopUpdate(Test game)
{
game.repaint();
}
boolean done = true;
public void paint(Graphics g)
{
System.out.print(g.getClipBounds().width + ", " + g.getClipBounds().height + "\n");
super.paint(g);
g.setClip(0,0, WIN_WIDTH, WIN_HEIGHT);
final Graphics2D g2d = (Graphics2D) g;
if (done)
{
done=false;
try
{
g2d.fillRect(0, 0, WIN_WIDTH + 100, WIN_HEIGHT + 100);
} catch (Exception e) {
e.printStackTrace();
}
g.dispose();
done = true;
}
}
@Override
public void run()
{
loopUpdate(this);
}
}
お願いします。ここにいるほとんどの人がこれを修正する方法を知っているので、誰か助けてください。