Java是一門跨平臺(tái)的編程語言,并且在圖形用戶界面設(shè)計(jì)方面有著不錯(cuò)的表現(xiàn)。本文將介紹如何使用菜單和按鈕來控制繪圖。
首先,我們需要一個(gè)繪圖區(qū)域??梢允褂肑Panel進(jìn)行繪制,代碼如下:
import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import javax.swing.JPanel; public class DrawingPanel extends JPanel { private int x1, y1, x2, y2; public DrawingPanel() { setBackground(Color.WHITE); setPreferredSize(new Dimension(400, 300)); } @Override protected void paintComponent(Graphics g) { super.paintComponent(g); g.drawLine(x1, y1, x2, y2); } public void drawLine(int x1, int y1, int x2, int y2) { this.x1 = x1; this.y1 = y1; this.x2 = x2; this.y2 = y2; repaint(); } }
以上代碼定義了一個(gè)繼承自JPanel的DrawingPanel類,其中使用了paintComponent()方法進(jìn)行繪制。drawLine()方法用于外部控制繪制直線。
然后,我們需要?jiǎng)?chuàng)建菜單和按鈕??梢允褂肑MenuBar、JMenu、JMenuItem、JToolBar和JButton等組件,代碼如下:
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JToolBar; import javax.swing.SwingUtilities; public class MainFrame extends JFrame { private DrawingPanel drawingPanel; public MainFrame() { super("Java繪圖"); drawingPanel = new DrawingPanel(); add(drawingPanel); JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); JMenu fileMenu = new JMenu("文件"); menuBar.add(fileMenu); JMenuItem exitMenuItem = new JMenuItem("退出"); exitMenuItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { System.exit(0); } }); fileMenu.add(exitMenuItem); JToolBar toolBar = new JToolBar(); add(toolBar, "North"); JButton lineButton = new JButton("直線"); lineButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { drawingPanel.drawLine(50, 50, 300, 200); } }); toolBar.add(lineButton); pack(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new MainFrame(); } }); } }
以上代碼定義了一個(gè)繼承自JFrame的MainFrame類,其中使用了JMenuBar、JMenu、JMenuItem、JToolBar和JButton等組件。使用JMenuBar和JMenu創(chuàng)建文件菜單并添加退出菜單項(xiàng),使用JToolBar和JButton創(chuàng)建直線按鈕并添加到工具欄。
最后,我們可以運(yùn)行程序并點(diǎn)擊菜單項(xiàng)或者按鈕來控制繪圖。