Java是當前最受歡迎的編程語言之一,它具有廣泛的應用領域。在Java編程中,使用按鈕來畫圓和橢圓是一個非常有趣的項目,可以幫助程序員提高他們的技能。下面我們將詳細介紹如何在Java中使用按鈕畫圓和橢圓。
import javax.swing.*; import java.awt.*; import java.awt.geom.*; public class DrawCircleAndOval extends JFrame { public DrawCircleAndOval() { super("Draw Circle and Oval"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(500, 500); this.setVisible(true); this.add(new CircleAndOvalPanel()); } private class CircleAndOvalPanel extends JPanel { private int x = 50; private int y = 50; private int radius = 30; private int width = x + 100; private int height = y + 80; public CircleAndOvalPanel() { JButton btnCircle = new JButton("Circle"); JButton btnOval = new JButton("Oval"); btnCircle.addActionListener(e ->{ radius += 10; repaint(); }); btnOval.addActionListener(e ->{ width += 10; height += 10; repaint(); }); this.add(btnCircle); this.add(btnOval); } @Override public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2d = (Graphics2D) g; Shape circle = new Ellipse2D.Float(x, y, radius, radius); Shape oval = new Ellipse2D.Float(x, y, width, height); g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2d.setPaint(Color.RED); g2d.draw(circle); g2d.setPaint(Color.BLUE); g2d.draw(oval); } } public static void main(String[] args) { new DrawCircleAndOval(); } }
在代碼中,我們首先創建了一個繼承自JFrame的類DrawCircleAndOval,用于創建窗口并添加JPanel。JPanel類CircleAndOvalPanel繼承自JPanel,并設置了圓和橢圓的位置、大小等屬性。我們在CircleAndOvalPanel的構造方法中創建了兩個JButton, 用于觸發圓和橢圓的繪制。當用戶點擊按鈕時,圓的半徑或橢圓的長和寬都會增加,并且組件會重繪。
在CircleAndOvalPanel的paintComponent方法中,我們使用Graphics2D對象創建了圓和橢圓的形狀。我們還使用RenderingHints啟用了反走樣,讓圖形看起來更加平滑。使用Graphics2D對象的draw方法,我們將圓和橢圓繪制到面板上。
這是一個非常簡單的Java項目,但是它可以幫助程序員了解如何使用按鈕進行繪圖,同時提高他們的編程技能。