如何向启动画面添加按钮
您好我必须创建java splashscreen并在启动期间停止/暂停并显示确定按钮。每次编译netbean时都会运行启动画面。
public class Main
{
static SplashScreen mySplash; // instantiated by JVM we use it to
// get graphics
static Graphics2D splashGraphics; // graphics context for overlay of the
// splash image
static Rectangle2D.Double splashTextArea; // area where we draw the text
static Rectangle2D.Double splashProgressArea; // area where we draw the progress bar
static Font font; // used to draw our text
public static void main(String[] args)
{
splashInit(); // initialize splash overlay drawing parameters
}
//create button here
private static void splashInit()
{
//do coding here for mannipulating splash screen
//put ok button here
}
}
我们怎么可能把按钮放到闪屏上?通常我只能将JButton
放在JFrame
或JPanel
。是否可以将按钮放在像闪屏这样的图像上?
答案 0 :(得分:3)
“你能告诉我如何将jdialog作为启动画面吗?”
在下面的例子中,这是我做的事情。
创建JDialog
课程并确保其为undecorated
public class SplashDialog extends JDialog {
....
setUndecorated(true);
给它一个背景图片
JLabel background = new JLabel(createImage());
background.setLayout(new BorderLayout());
setContentPane(background);
将JPanel
JButton
添加到background
。但是设置JPanel
不可见,也只是为了添加一些样式,为JPanel
提供一点透明度,所以当你做将其设置为可见时,你仍然可以看到{ {1}}图片
background
使用final JPanel panel = new JPanel(new GridBagLayout());
panel.setVisible(false);
panel.setBackground(new Color(0, 0, 0, 150));
JButton okBut = new JButton("OK");
panel.add(okBut);
background.add(panel);
设置按钮显示的延迟。
javax.swing.Timer
确保框架不可见,但按下按钮后,框架变为可见,Timer timer = new Timer(5000, new ActionListener(){
public void actionPerformed(ActionEvent e) {
panel.setVisible(true);
}
});
timer.setRepeats(false);
timer.start();
处置
JDialog
现在你有了一个简单的斜杠屏幕
初始启动
5秒后飞溅
okBut.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
dispose();
parent.setVisible(true);
}
});