用JAVA实现一个滚动面板,该滚动面板的功能是不断显示随机生成的数字,如果数字大于10该内容会变为红色。
时间: 2024-03-11 17:51:07 浏览: 22
可以使用Java Swing中的JScrollPane和JTextArea来实现这个滚动面板。首先创建一个JFrame窗口,然后在窗口上添加一个JScrollPane组件,再在JScrollPane组件内添加一个JTextArea组件,最后在JTextArea组件中不断显示随机生成的数字。
以下是实现代码示例:
```java
import java.awt.Color;
import java.awt.Dimension;
import java.util.Random;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.ScrollPaneConstants;
import javax.swing.SwingUtilities;
public class ScrollPanelDemo {
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> createAndShowGUI());
}
private static void createAndShowGUI() {
JFrame frame = new JFrame("Scroll Panel Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setPreferredSize(new Dimension(300, 200));
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(280, 180));
JTextArea textArea = new JTextArea();
textArea.setEditable(false);
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
textArea.setPreferredSize(new Dimension(260, Integer.MAX_VALUE));
JScrollPane scrollPane = new JScrollPane(textArea);
scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scrollPane.setPreferredSize(new Dimension(280, 160));
panel.add(scrollPane);
frame.setContentPane(panel);
frame.pack();
frame.setVisible(true);
Random random = new Random();
while (true) {
int number = random.nextInt(20);
String text = Integer.toString(number);
if (number > 10) {
textArea.append("\n");
textArea.append(text);
textArea.setForeground(Color.RED);
} else {
textArea.append("\n" + text);
textArea.setForeground(Color.BLACK);
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
```
在这个示例中,首先创建了一个JFrame窗口和一个JPanel面板。然后创建了一个JScrollPane组件,并将其添加到JPanel面板中。在JScrollPane组件内部创建了一个JTextArea组件,并将其添加到JScrollPane组件中。最后使用Random类生成随机数字,并将其添加到JTextArea组件中。如果随机数字大于10,则将JTextArea组件的前景色设置为红色。程序使用了一个死循环不断生成随机数字,并将其添加到JTextArea组件中,以实现不断显示随机数字的效果。