如何编写一个java代码改变JFrame的大小
时间: 2024-01-24 19:01:54 浏览: 35
要编写Java代码改变JFrame的大小,可以使用setPreferredSize()方法,该方法可以设置组件的首选大小。下面是一个简单的示例代码:
```java
import javax.swing.*;
public class ResizeFrame {
public static void main(String[] args) {
JFrame frame = new JFrame("Resize Frame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300); // 设置初始大小
frame.setVisible(true);
// 改变窗口大小
frame.setPreferredSize(new Dimension(600, 400));
frame.pack();
}
}
```
在这个示例中,我们创建了一个JFrame实例,并设置了它的初始大小为400x300。然后,我们使用setPreferredSize()方法将其大小更改为600x400,并调用pack()方法重新调整窗口大小以适应新的首选大小。最后,我们将窗口设置为可见。
相关问题
java JFrame窗口大小固定
要让Java的JFrame窗口大小固定,可以使用JFrame的setResizable(false)方法来禁止用户修改窗口大小。代码如下:
```
JFrame frame = new JFrame("固定大小的窗口");
frame.setResizable(false); // 禁止用户修改窗口大小
frame.setSize(400, 300); // 设置窗口大小
frame.setVisible(true); // 显示窗口
```
这样,用户就无法通过鼠标拖拽来改变窗口的大小了。
用JAVA代码写一个心形
### 回答1:
您好!下面是一个用 Java 代码绘制心形的示例:
```
public class HeartShape {
public static void main(String[] args) {
double x, y, r;
r = Math.cos(Math.toRadians(30));
for (double i = 0; i <= 90; i += 0.1) {
x = 16 * Math.pow(Math.sin(i), 3);
y = 13 * Math.cos(i) - 5 * Math.cos(2 * i) - 2 * Math.cos(3 * i) - Math.cos(4 * i);
System.out.println((int) (x * r) + "\t" + (int) (y * r));
}
}
}
```
这段代码中,我们使用了 `Math.cos()` 和 `Math.sin()` 函数,来模拟心形的曲线。每次循环,程序计算出一个新的 x 和 y 坐标,然后将其输出到控制台。
最终,这些坐标点组成了一个心形的图像。你可以使用任何你喜欢的图形绘制工具,如 JavaFX,Swing 等绘制这个心形图形。
### 回答2:
要用Java代码来绘制一个心形图案,需要使用Java的图形库来实现。下面是一个简单的代码示例:
```java
import javax.swing.*;
import java.awt.*;
public class HeartShape extends JFrame {
private final int WIDTH = 400;
private final int HEIGHT = 400;
public HeartShape() {
setTitle("Heart Shape");
setSize(WIDTH, HEIGHT);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
int centerX = WIDTH / 2;
int centerY = HEIGHT / 2;
g2d.setColor(Color.RED);
int[] xPoints = {centerX, centerX + 80, centerX};
int[] yPoints = {centerY + 80, centerY + 80, centerY + 180};
g2d.fillPolygon(xPoints, yPoints, 3);
int[] ctrlX = {centerX - 80, centerX - 80};
int[] ctrlY = {centerY + 90, centerY + 90};
g2d.fillArc(centerX - 80, centerY + 65, 160, 150, 0, -180);
g2d.fillArc(centerX, centerY + 65, 160, 150, 0, -180);
g2d.fillPolygon(ctrlX, ctrlY, 2);
}
public static void main(String[] args) {
EventQueue.invokeLater(() -> {
HeartShape heartShape = new HeartShape();
heartShape.setVisible(true);
});
}
}
```
这段代码绘制一个红色的心形图案,通过继承JFrame类和重写paint方法来实现图形的绘制。在主方法中创建一个HeartShape对象并设置可见。运行程序后,即可看到一个用Java代码绘制的心形图案。
### 回答3:
实现一个用Java代码绘制心形的示例代码如下:
```java
public class HeartShape {
public static void main(String[] args) {
int size = 6; // 控制心形大小,可调整
for (int i = size / 2; i <= size; i += 2) {
for (int j = 1; j < size - i; j += 2) {
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
for (int j = 1; j <= size - i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
for (int i = size; i >= 1; i--) {
for (int j = i; j < size; j++) {
System.out.print(" ");
}
for (int j = 1; j <= (i * 2) - 1; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
```
上述代码中,我们使用了两个嵌套的循环来绘制心形图案。首先,我们从半个心形开始,每一行都是由空格和星号组成;然后,通过递减星号的数量来绘制完整的心形。通过调整`size`变量的值可以改变心形的大小。
输出的结果如下所示(以`size`为6为例):
```
** **
**** ****
****** ******
****** ******
***** *****
**** ****
** **
```
上述代码仅仅是一个简单示例,你可以根据个人需求和喜好来调整和改进代码以达到更好的效果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)