21xrx.com
2024-09-20 05:27:31 Friday
登录
文章检索 我的文章 写文章
Java简单项目案例详解及代码分享
2023-06-19 16:16:22 深夜i     --     --
Java 项目案例 代码分享

在学习编程语言时,一个好的理解方式是通过练习来巩固自己的知识。本文将介绍一些Java的简单项目案例,并提供代码分享和详细讲解,以帮助Java初学者们更好地理解Java。

一、基于Java的简单计算器

这是一个基于Java的简单计算器项目。该项目使用Java Swing框架来构建用户界面,并在后台使用Java语言进行计算。

以下是该项目的代码实现。首先,我们需要创建一个计算器类,并从它开始。


import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Font;

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;

import javax.swing.border.Border;

import javax.swing.border.LineBorder;

public class Calculator extends JPanel implements ActionListener {

private static final long serialVersionUID = 1L;

JTextField textField;

JButton button1, button2, button3, button4, button5, button6, button7, button8, button9, button0, buttonC, buttonDot, buttonPlus, buttonMinus, buttonMult, buttonDiv, buttonEqual;

public Calculator() {

// 设置界面文本框属性

textField = new JTextField();

Font font = new Font("Courier", Font.BOLD, 30);

textField.setPreferredSize(new Dimension(400, 60));

textField.setBackground(Color.LIGHT_GRAY);

textField.setFont(font);

// 设置数字和运算符属性

button1 = new JButton("1");

button2 = new JButton("2");

button3 = new JButton("3");

button4 = new JButton("4");

button5 = new JButton("5");

button6 = new JButton("6");

button7 = new JButton("7");

button8 = new JButton("8");

button9 = new JButton("9");

button0 = new JButton("0");

buttonC = new JButton("C");

buttonDot = new JButton(".");

buttonPlus = new JButton("+");

buttonMinus = new JButton("-");

buttonMult = new JButton("*");

buttonDiv = new JButton("/");

buttonEqual = new JButton("=");

// 根据网格布局组织计算器的布局

JPanel panel1 = new JPanel();

panel1.setLayout(new GridLayout(4, 4));

panel1.add(button1);

panel1.add(button2);

panel1.add(button3);

panel1.add(buttonPlus);

panel1.add(button4);

panel1.add(button5);

panel1.add(button6);

panel1.add(buttonMinus);

panel1.add(button7);

panel1.add(button8);

panel1.add(button9);

panel1.add(buttonMult);

panel1.add(buttonDot);

panel1.add(button0);

panel1.add(buttonC);

panel1.add(buttonDiv);

// 设置计算器界面的颜色和边框

Border border = new LineBorder(Color.BLACK, 3, true);

panel1.setBorder(border);

this.setBackground(Color.GRAY);

this.setBorder(border);

// 将计算器文本框和按钮添加到计算器面板中

this.setLayout(new BorderLayout());

this.add(textField, BorderLayout.NORTH);

this.add(panel1, BorderLayout.CENTER);

this.add(buttonEqual, BorderLayout.SOUTH);

// 为计算器按钮添加事件监听器

button1.addActionListener(this);

button2.addActionListener(this);

button3.addActionListener(this);

button4.addActionListener(this);

button5.addActionListener(this);

button6.addActionListener(this);

button7.addActionListener(this);

button8.addActionListener(this);

button9.addActionListener(this);

button0.addActionListener(this);

buttonC.addActionListener(this);

buttonDiv.addActionListener(this);

buttonDot.addActionListener(this);

buttonMult.addActionListener(this);

buttonMinus.addActionListener(this);

buttonPlus.addActionListener(this);

buttonEqual.addActionListener(this);

}

// 计算器按键的事件处理方法

public void actionPerformed(ActionEvent e) {

String s = e.getActionCommand();

if (s.equals("C")) {

textField.setText("");

} else if (s.equals("=")) {

String text = textField.getText();

double result = calculate(text);

textField.setText("" + result);

} else {

textField.setText(textField.getText() + s);

}

}

// 计算器的计算方法

public double calculate(String text) {

double result = 0;

// 分割出运算符

String[] words = text.split("[+\\-*/]");

// 分割出每个运算符的操作数

double[] nums = new double[words.length];

for (int i = 0; i < words.length; i++) {

nums[i] = Double.parseDouble(words[i]);

}

// 用运算符进行计算

if (text.contains("+")) {

result = nums[0] + nums[1];

} else if (text.contains("-")) {

result = nums[0] - nums[1];

} else if (text.contains("*")) {

result = nums[0] * nums[1];

} else if (text.contains("/")) {

result = nums[0] / nums[1];

}

return result;

}

public static void main(String[] args) {

// 创建一个计算器实例并显示它

JFrame frame = new JFrame("Calculator");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.getContentPane().add(new Calculator());

frame.pack();

frame.setVisible(true);

}

}

二、基于Java的简单TodoList

这是一个基于Java的简单TodoList项目。该项目使用Java Swing框架来构建用户界面,并在后台使用Java语言进行任务管理。

以下是该项目的代码实现。首先,我们需要创建一个任务类和一个任务列表类,并从它们开始。


import java.util.ArrayList;

import java.util.List;

public class Task {

private String description;

private boolean complete;

public Task(String description)

this.description = description;

this.complete = false;

public String getDescription()

return this.description;

public boolean isComplete()

return this.complete;

public void toggleComplete()

this.complete = !this.complete;

}

public class TaskList {

private List tasks;

public TaskList() {

this.tasks = new ArrayList ();

}

public void addTask(String description) {

Task task = new Task(description);

this.tasks.add(task);

}

public List getTasks()

return this.tasks;

public void removeTask(Task task) {

this.tasks.remove(task);

}

}

然后,我们需要创建用户界面。以下是用户界面的代码实现。


import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.List;

import javax.swing.JButton;

import javax.swing.JCheckBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.border.Border;

import javax.swing.border.LineBorder;

public class TodoList extends JPanel implements ActionListener {

private static final long serialVersionUID = 1L;

private TaskList taskList;

private JLabel titleLabel;

private JPanel taskPanel;

public TodoList() {

// 创建任务列表

this.taskList = new TaskList();

// 设置标题属性

titleLabel = new JLabel("Todo List");

Font font = new Font("Courier", Font.BOLD, 30);

titleLabel.setPreferredSize(new Dimension(400, 60));

titleLabel.setBackground(Color.LIGHT_GRAY);

titleLabel.setFont(font);

// 设置添加任务按钮属性

JButton addTaskButton = new JButton("Add Task");

addTaskButton.setPreferredSize(new Dimension(400, 60));

// 添加任务按钮的事件处理方法

addTaskButton.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

String taskDescription = "New Task";

taskList.addTask(taskDescription);

createTaskPanel();

}

});

// 根据网格布局组织任务界面的布局

taskPanel = new JPanel();

taskPanel.setLayout(new GridLayout(0, 1));

// 设置任务界面的颜色和边框

Border border = new LineBorder(Color.BLACK, 3, true);

taskPanel.setBorder(border);

this.setBackground(Color.GRAY);

this.setBorder(border);

// 将任务列表和添加任务按钮添加到任务界面中

this.setLayout(new BorderLayout());

this.add(titleLabel, BorderLayout.NORTH);

this.add(taskPanel, BorderLayout.CENTER);

this.add(addTaskButton, BorderLayout.SOUTH);

// 创建任务界面

createTaskPanel();

}

// 根据任务列表创建任务界面

private void createTaskPanel() {

taskPanel.removeAll();

List tasks = taskList.getTasks();

for (Task task : tasks) {

JCheckBox checkBox = new JCheckBox(task.getDescription(), task.isComplete());

checkBox.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

task.toggleComplete();

}

});

taskPanel.add(checkBox);

}

taskPanel.revalidate();

}

@Override

public void actionPerformed(ActionEvent e)

public static void main(String[] args) {

// 创建一个TodoList实例并显示它

JFrame frame = new JFrame("TodoList");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.getContentPane().add(new TodoList());

frame.pack();

frame.setVisible(true);

}

}

三个

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复