编写程序以显示字体大小 布局 它应该具有: ● 在顶部: 字母“X”的标签 - 字体大小值的标签 ● 在底部: 按钮以增加字体大小 按钮减小字体大小 所需的最终外观: 功能性 最初,X 标签应显示 18 磅“X”,字体大小标签应显示值“18”。每次选择“增加”按钮时,“X”的字体大小和字体大小标签中的值应增加 1。每次选择“减小”按钮时,“X”的字体大小和字体大小标签中的值应减小 1。确保这不允许负字体大小。 (正确布局:0.25P, 类扩展 JFrame: 0.25P, 类遵循 OOP 原则:0.25P, 主方法全局设置:0.25P) (类实现ActionListener:0.5P,根据需要工作:0.5P)
时间: 2024-01-24 07:20:22 浏览: 97
下面是一个实现题目要求的 Java 代码示例:
```java
import java.awt.BorderLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class FontSizeChanger extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JLabel xLabel;
private JLabel fontSizeLabel;
private int fontSize = 18;
public FontSizeChanger() {
super("Font Size Changer");
// 创建顶部面板
JPanel topPanel = new JPanel();
xLabel = new JLabel("X");
xLabel.setFont(new Font("Arial", Font.PLAIN, fontSize));
topPanel.add(xLabel);
fontSizeLabel = new JLabel("Font Size: " + fontSize);
topPanel.add(fontSizeLabel);
// 创建底部面板
JPanel bottomPanel = new JPanel();
JButton increaseButton = new JButton("+");
increaseButton.addActionListener(this);
bottomPanel.add(increaseButton);
JButton decreaseButton = new JButton("-");
decreaseButton.addActionListener(this);
bottomPanel.add(decreaseButton);
// 添加面板到窗口
this.add(topPanel, BorderLayout.CENTER);
this.add(bottomPanel, BorderLayout.SOUTH);
// 设置窗口大小和关闭操作
this.setSize(300, 150);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("+")) {
fontSize++;
} else if (e.getActionCommand().equals("-")) {
fontSize--;
}
if (fontSize < 1) {
fontSize = 1; // 不允许负字体大小
}
xLabel.setFont(new Font("Arial", Font.PLAIN, fontSize));
fontSizeLabel.setText("Font Size: " + fontSize);
}
public static void main(String[] args) {
new FontSizeChanger();
}
}
```
该代码创建一个继承自 JFrame 的类 FontSizeChanger,实现了 ActionListener 接口。其中,xLabel 和 fontSizeLabel 分别用于显示字母“X”和字体大小值,底部面板包含两个按钮,用于增加和减小字体大小。
在构造方法中,创建了顶部面板和底部面板,并添加到了窗口中。同时,设置了窗口的大小和关闭操作。在 actionPerformed 方法中,根据按钮的不同操作,修改了字体大小并更新了标签的显示。注意,不允许出现负字体大小。
最终运行程序,可以看到窗口中的效果,按下增加或减小按钮,字体大小随之改变:
![FontSizeChanger](https://i.imgur.com/qbJQGUM.png)
阅读全文