import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Game4 extends JPanel {
public Game4() {
setVisible(true);
}
public void paint(Graphics g) {
Graphics2D twoD = (Graphics2D) g;
boxes(twoD);
}
public void boxes(Graphics2D twoD) {
twoD.drawLine(getWidth() / 3, 0, getWidth() / 3, getHeight());
}
}
出于某種原因,我無法繪制出這段代碼。我不是那么好,Graphics2D所以如果我能得到一些幫助,那就太好了。
uj5u.com熱心網友回復:
首先查看在 AWT 和 Swing 中的繪畫和執行自定義繪畫,以了解有關繪畫如何在 Swing 中作業的更多詳細資訊。
paint做了很多非常重要的作業,比如Graphics根據組件foreground顏色設定背景關系的默認顏色、填充背景、設定剪輯等。
除非你真的愿意接管所有的控制權,否則你最好避免它。相反,更喜歡使用paintComponent.
您可能還需要為組件提供一些基本的尺寸提示,并且為了在螢屏上顯示該組件需要添加到某種視窗(即JFrame)
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main {
public static void main(String[] args) {
new Main();
}
public Main() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame();
frame.add(new TestPane());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
});
}
public class TestPane extends JPanel {
public TestPane() {
}
@Override
public Dimension getPreferredSize() {
return new Dimension(200, 200);
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g.create();
boxes(g2d);
g2d.dispose();
}
protected void boxes(Graphics2D twoD) {
twoD.drawLine(getWidth() / 3, 0, getWidth() / 3, getHeight());
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/450061.html
