智能高科网

java如何设置label字体大小随窗口大小变化?

207 2023-11-27 06:24 admin

感谢邀请,你看看这个是你想要的吗?

import java.awt.BorderLayout;

import java.awt.Graphics;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Random;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class FrameTest extends JFrame {

private JTextField textField;

private JLabel label;

private int count;

private int line;

private int rect;

private int circle;

public static void main(String[] args) {

new FrameTest();

}

public FrameTest() {

setSize(800, 600);

setDefaultCloseOperation(EXIT_ON_CLOSE);

textField = new JTextField(20);

textField.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

count = new Integer(textField.getText());

repaint();

}

});

label = new JLabel();

JPanel panel = new JPanel();

panel.add(new JLabel("input a num"));

panel.add(textField);

add(panel, BorderLayout.NORTH);

add(label, BorderLayout.SOUTH);

setVisible(true);

}

public void paint(Graphics g) {

super.paint(g);

randomCount();

for (int i = 0; i < line; i++) {

drawRandomLine(g);

}

for (int i = 0; i < rect; i++) {

drawRandomRect(g);

}

for (int i = 0; i < circle; i++) {

drawRandomCircle(g);

}

label.setText("Line : " + line + ", Rect : " + rect + ", Cirlce : " + circle);

}

private void randomCount() {

line = rect = circle = 0;

for (int i = 0; i < count; i++) {

Random random = new Random();

switch (random.nextInt(3)) {

case 0:

line++;

break;

case 1:

rect++;

break;

case 2:

circle++;

break;

}

}

}

private void drawRandomLine(Graphics g) {

Random random = new Random();

g.drawLine(random.nextInt(getWidth()), random.nextInt(getHeight()),

random.nextInt(getWidth()), random.nextInt(getHeight()));

}

private void drawRandomRect(Graphics g) {

Random random = new Random();

g.drawRect(random.nextInt(getWidth()), random.nextInt(getHeight()),

random.nextInt(getWidth()), random.nextInt(getHeight()));

}

private void drawRandomCircle(Graphics g) {

Random random = new Random();

g.drawOval(random.nextInt(getWidth()), random.nextInt(getHeight()),

random.nextInt(getWidth()), random.nextInt(getHeight()));

}

}

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
用户名: 验证码:点击我更换图片