Java实现表白小程序

今天闲来无事,教大家一个哄妹子的小case。我们需要创建一个心形图案,按照心形图案的位置和长度,对所创建的字符串进行截断并在所需的位置上输出,最终能呈现在屏幕上满满的爱心。废话不多说,直接上源码看效果 ~


package ddd;

import java.awt.*;

import javax.swing.JFrame;

public class Cardioid extends JFrame {

	//获取屏幕大小
	private static final int WIDTH = 500;
	private static final int HEIGHT = 500;   

	private static int WINDOW_WIDTH = Toolkit.getDefaultToolkit().getScreenSize().width;
	private static int WINDOW_HEIGHT = Toolkit.getDefaultToolkit().getScreenSize().height;
	
	public Cardioid(){
		super("I love you");//设置窗口标题
		this.setBackground(Color.BLACK);
		this.setLocation((WINDOW_WIDTH-WIDTH)/2,(WINDOW_HEIGHT-HEIGHT)/2);//设置窗口位置
		this.setSize(WIDTH, HEIGHT);//设置窗口大小
		this.setLayout(getLayout());//设置窗口布局
		this.setVisible(true);//设置窗口可见
		this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);//设置窗口默认关闭方式
	}
	
	public void paint(Graphics g){
		double x,y,r;//横纵坐标以及半径
		Image image = this.createImage(WIDTH, HEIGHT);
		Graphics pic = image.getGraphics();
		for (int i = -2; i < 90; i++) {
			for (int j = -2; j < 90; j++) {
				r=Math.PI/45+Math.PI/45*i*(1-Math.sin(Math.PI/45*j))*18;
				x=r*Math.cos(Math.PI/45*j)*Math.sin(Math.PI/45*i)+WIDTH/2;
				y=-r*Math.sin(Math.PI/45*j)+HEIGHT/3;
				pic.setColor(Color.MAGENTA);
				pic.fillOval((int)x, (int)y, 2, 2);
			}
			g.drawImage(image,0,0,this);//生成图片
		}
	}
	
	
	public static void main(String[] args) {
		new Cardioid();
	}
}



实现效果如下所示:



  • 139
    点赞
  • 649
    收藏
    觉得还不错? 一键收藏
  • 88
    评论
Java简单表白小程序可以按照以下步骤进行实现: 1. 创建一个Java类作为程序的入口点。 2. 在该类中引入JavaFX库来实现图形化界面。 3. 创建一个窗口并设置其大小、标题等属性。 4. 在窗口中添加文本框、按钮等组件,用于输入表白的内容和触发发送表白的操作。 5. 设置按钮的监听事件,在按钮被点击时执行相应的操作。 6. 在事件处理方法中获取文本框中输入的表白内容。 7. 利用Java的Socket编程功能,将表白内容发送给指定的接收方。 8. 将发送成功的消息显示在界面上。 具体实现的过程如下: ```java import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.TextField; import javafx.scene.layout.VBox; import javafx.stage.Stage; import java.io.IOException; import java.io.OutputStream; import java.net.Socket; import java.nio.charset.StandardCharsets; public class LoveProgram extends Application { private TextField textField; private Button sendButton; @Override public void start(Stage primaryStage) { textField = new TextField(); sendButton = new Button("发送"); sendButton.setOnAction(event -> sendLove()); VBox vbox = new VBox(10, textField, sendButton); Scene scene = new Scene(vbox, 300, 200); primaryStage.setTitle("表白小程序"); primaryStage.setScene(scene); primaryStage.show(); } private void sendLove() { String loveContent = textField.getText(); try { Socket socket = new Socket("接收方IP", 8888); OutputStream outputStream = socket.getOutputStream(); outputStream.write(loveContent.getBytes(StandardCharsets.UTF_8)); outputStream.flush(); outputStream.close(); textField.setText("发送成功!"); } catch (IOException e) { e.printStackTrace(); textField.setText("发送失败!"); } } public static void main(String[] args) { launch(args); } } ``` 这样,我们就实现了一个简单的Java表白小程序。当点击发送按钮时,程序会将文本框中的内容发送给指定的接收方IP(需根据实际情况更改),并在界面上显示发送结果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值