现有一JAVA程序,其他都OK,求大虾帮忙改下
一:滚动窗口出现在屏幕下方,而不是上方,
二:滚动窗口宽度能适应各种分辨率的大小设置成和屏幕一样宽,高度就现在这个高度就OK
代码如下:
package com;import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.HeadlessException;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JViewport;
import javax.swing.Timer;public class ee extends JFrame {
private Timer timer;
private JLabel view;
private JViewport window;public static void main(String[] args)
{
JFrame frm = new ee("");
frm.setDefaultCloseOperation(EXIT_ON_CLOSE);
frm.pack();
frm.setVisible(true);}public ee(String title) throws HeadlessException
{
super(title);initComponents();setUndecorated(true);
setVisible( true );addComponentListener(new ComponentAdapter() {
public void componentResized(ComponentEvent e)
{
anchor = new Point();
anchor.x = -window.getExtentSize().width;
timer.start();
}
});timer = new Timer(100, new ActionListener() {
public void actionPerformed(ActionEvent e)
{
animate();
}
});
timer.setInitialDelay(0);
}private void initComponents()
{
view = new JLabel("dddddddddddddddddddddddddddddddddddddddddd");
view.setFont(Font.decode("Dialog-BOLD-36"));
view.setForeground(Color.BLUE);window = new JViewport();
window.setView(view);
getContentPane().add(window);
}Point anchor;
private void animate()
{
Dimension extSize = window.getExtentSize();
Dimension viewSize = view.getPreferredSize();
anchor.x += 5;//设置移动的速度
window.setViewPosition(anchor);
if (anchor.x > viewSize.width)
anchor.x = -extSize.width;
}
}

解决方案 »

  1.   

    任务栏在下方的情况; final GraphicsEnvironment genv = GraphicsEnvironment.getLocalGraphicsEnvironment();
    final Rectangle desktopBounds = genv.getMaximumWindowBounds();int widht = desktopBounds.width; // 窗口宽度
    int height = ??; // 窗口高度自己设置
    int x = 0;
    int y = desktopBounds.height - height;frame.setBounds(x,y,width,height);
      

  2.   


    public static void main(String[] args){
    JFrame frm = new ee();
    frm.setDefaultCloseOperation(EXIT_ON_CLOSE);
    int width = frm.getToolkit().getScreenSize().width;
    int height = frm.getToolkit().getScreenSize().height;
    System.out.println(" "+ width +" "+height);
    int frmHeight = 100;//frame的高度
    frm.setBounds(0,height - frmHeight,width,frmHeight);
    frm.setVisible(true);
    }