Java小程序:用java在面板上画一个圆

Java小程序:用java在面板上画一个圆

IDE中的源代码如下: 

import javax.swing.*;
import java.awt.*;

public class DrawCircle extends JFrame{  //JFrame理解为一个框架,作为存放画板的窗口
    //定义一个画板
    private MyPanel mp = null;
    public static void main(String[] args){

        new DrawCircle();

    }


    public DrawCircle(){  //构造器
        mp = new MyPanel(); //初始化画板
        this.add(mp); //画板放入窗口
        this.setSize(400,300);  //设置窗口大小
        this.setVisible(true);  //可以显示
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //点击X号,退出程序Process finished with exit code 0
    }

}

/**
 * MyPanel对象是一个画板
 * Graphics g 理解为一支画笔,提供很多绘图方法
 */
class MyPanel extends JPanel{

    @Override
    public void paint(Graphics g) {  //绘图方法
        super.paint(g);  //调用父类方法完成初始化

        g.drawOval(10,10,100,100);  //画圆

        System.out.println("paint方法被调用.....");
        /**
         * 说明第一次显示窗口时、每次调整窗口大小、或者最小化窗口时,会调用 paint(Graphics g){} 方法
         */
    }
}

运行如下:

 

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个使用Java GUI库Swing编写的简单程序,主要功能是实现一个简单的计算器。代码如下: ```java import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class Calculator implements ActionListener { private JFrame frame; private JTextField textField; private JPanel buttonPanel; private JButton[] buttons; private String[] buttonLabels = {"7", "8", "9", "+", "4", "5", "6", "-", "1", "2", "3", "*", "0", ".", "=", "/"}; private double result = 0; // 计算结果 private String operator = "+"; // 当前运算符 private boolean startNumber = true; // 是否开始输入数字 public static void main(String[] args) { Calculator calculator = new Calculator(); calculator.init(); } // 初始化程序 private void init() { frame = new JFrame("Calculator"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); textField = new JTextField("0"); textField.setHorizontalAlignment(JTextField.RIGHT); textField.setEditable(false); buttonPanel = new JPanel(); buttonPanel.setLayout(new GridLayout(4, 4, 5, 5)); buttons = new JButton[buttonLabels.length]; for (int i = 0; i < buttonLabels.length; i++) { buttons[i] = new JButton(buttonLabels[i]); buttons[i].setPreferredSize(new Dimension(60, 40)); buttons[i].addActionListener(this); buttonPanel.add(buttons[i]); } frame.getContentPane().add(textField, BorderLayout.NORTH); frame.getContentPane().add(buttonPanel, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); } // 处理按钮事件 @Override public void actionPerformed(ActionEvent e) { String command = e.getActionCommand(); if (command.matches("[0-9.]")) { // 数字或小数点 if (startNumber) { textField.setText(command); startNumber = false; } else { textField.setText(textField.getText() + command); } } else if (command.matches("[+\\-*/=]")) { // 运算符 if (startNumber) { if (command.equals("-")) { // 负号 textField.setText("-"); startNumber = false; } else { operator = command; } } else { double number = Double.parseDouble(textField.getText()); if (operator.equals("+")) { result += number; } else if (operator.equals("-")) { result -= number; } else if (operator.equals("*")) { result *= number; } else if (operator.equals("/")) { result /= number; } else if (operator.equals("=")) { result = number; } textField.setText(String.valueOf(result)); operator = command; startNumber = true; } } } } ``` 这个程序使用了Java GUI库Swing来实现。程序主要包含一个 `JFrame` 窗口一个 `JTextField` 文本框和一个 `JPanel` 按钮面板。在 `init()` 方法中,首先创建了窗口和文本框,并将文本框设置为只读。然后创建按钮面板,并添加了所有的按钮,将按钮的大小设置为60x40,并为每个按钮添加了一个事件监听器,用于处理按钮事件。在 `actionPerformed()` 方法中,根据按钮的标签进行相应的处理。如果按钮标签是数字或小数点,则将其添加到文本框中;如果按钮标签是运算符,则根据当前的运算符和数字计算结果,并将结果显示在文本框中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值