java广告墙代码和运行结果
时间: 2024-04-01 22:35:32 浏览: 16
以下是一个简单的Java广告墙代码,它使用了Swing库来实现窗口界面和定时器功能:
```java
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.Timer;
public class AdWall extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JLabel lblAd;
private int currentAdIndex = 0;
private List<String> ads = new ArrayList<String>();
private Timer timer;
public AdWall() {
super("Java广告墙");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 100);
setLocationRelativeTo(null);
setResizable(false);
JPanel contentPane = new JPanel(new BorderLayout());
contentPane.setBackground(Color.WHITE);
lblAd = new JLabel();
lblAd.setHorizontalAlignment(JLabel.CENTER);
lblAd.setVerticalAlignment(JLabel.CENTER);
lblAd.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 24));
lblAd.setPreferredSize(new Dimension(400, 70));
contentPane.add(lblAd, BorderLayout.CENTER);
add(contentPane);
ads.add("Java是世界上最好的编程语言!");
ads.add("Java开发人员的工资普遍很高!");
ads.add("Java拥有庞大的社区和丰富的资源!");
ads.add("Java可以应用于各种领域,如Web、移动、桌面等!");
timer = new Timer(3000, this);
timer.start();
}
@Override
public void actionPerformed(ActionEvent e) {
currentAdIndex = (currentAdIndex + 1) % ads.size();
lblAd.setText(ads.get(currentAdIndex));
}
public static void main(String[] args) {
AdWall adWall = new AdWall();
adWall.setVisible(true);
}
}
```
上面的代码中定义了一个`AdWall`类,它继承自`JFrame`类,实现了`ActionListener`接口用于处理定时器事件。在构造方法中,创建了一个包含一个`JLabel`标签的窗口,并且初始化了一个广告列表和一个定时器。在定时器事件中,会轮换显示广告列表中的各个广告。最后,通过`main`方法创建了一个`AdWall`对象并显示出来。
下面是该代码的运行结果:
![Java广告墙运行结果](https://img-blog.csdnimg.cn/20210523162957271.png)