c 博客网站开发教程,推广平台都有哪些,微信公众号外包,服务器做网站好java 消息通知首先创建JFrame作为弹出窗口。 在其中添加一些JLabel以包含信息#xff0c;并在适当的位置分配它们#xff0c;使其看起来像一条通知消息。 下面给出了示例代码#xff1a; String message You got a new notification message. Isnt it awesome to have suc… java 消息通知 首先创建JFrame作为弹出窗口。 在其中添加一些JLabel以包含信息并在适当的位置分配它们使其看起来像一条通知消息。 下面给出了示例代码 String message You got a new notification message. Isnt it awesome to have such a notification message.;
String header This is header of notification message;
JFrame frame new JFrame();
frame.setSize(300,125);
frame.setLayout(new GridBagLayout());
GridBagConstraints constraints new GridBagConstraints();
constraints.gridx 0;
constraints.gridy 0;
constraints.weightx 1.0f;
constraints.weighty 1.0f;
constraints.insets new Insets(5, 5, 5, 5);
constraints.fill GridBagConstraints.BOTH;
JLabel headingLabel new JLabel(header);
headingLabel .setIcon(headingIcon); // --- use image icon you want to be as heading image.
headingLabel.setOpaque(false);
frame.add(headingLabel, constraints);
constraints.gridx;
constraints.weightx 0f;
constraints.weighty 0f;
constraints.fill GridBagConstraints.NONE;
constraints.anchor GridBagConstraints.NORTH;
JButton cloesButton new JButton(X);
cloesButton.setMargin(new Insets(1, 4, 1, 4));
cloesButton.setFocusable(false);
frame.add(cloesButton, constraints);
constraints.gridx 0;
constraints.gridy;
constraints.weightx 1.0f;
constraints.weighty 1.0f;
constraints.insets new Insets(5, 5, 5, 5);
constraints.fill GridBagConstraints.BOTH;
JLabel messageLabel new JLabel(HtMlmessage);
frame.add(messageLabel, constraints);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setVisible(true); 其输出将是 在这里我创建了一个JFrame并添加了两个标签 第一个是headingLabel它是标题标签第二个是messageLabel它将包含消息信息 和一个关闭按钮。 我已经使用了GridBagLayout但是您可以使用任何选择。 现在要使该框架看起来像一个弹出窗口我们必须从该框架中删除标题栏和边框。 为此在frame.setSize…之后添加以下行 frame.setUndecoratedtrue; 现在的输出将是 请注意现在我们的框架无法关闭因为它没有标题栏关闭按钮。 因此要使我们的关闭按钮可以用作框架关闭按钮请更改其声明如下所示 JButton cloesButton new JButton(new AbstractAction(x) {Overridepublic void actionPerformed(final ActionEvent e) {frame.dispose();}
}); 添加后您将收到错误消息“无法引用用其他方法定义的内部类中的非最终变量框架”。 要摆脱此错误您可以采用以下解决方案之一 使您的框架变量最终。 使您的框架变量成为类中的全局变量。 使您的类扩展JFrame并完全删除frame变量。 现在当您运行程序时其外观将与图2相同但是现在您可以通过单击closeButton来关闭框架。 您会注意到您的框架出现在屏幕的顶部因此将其更改为屏幕的右下角在创建框架后添加以下几行 Dimension scrSize Toolkit.getDefaultToolkit().getScreenSize();// size of the screen
Insets toolHeight Toolkit.getDefaultToolkit().getScreenInsets(frame.getGraphicsConfiguration());// height of the task bar
frame.setLocation(scrSize.width - frame.getWidth(), scrSize.height - toolHeight.bottom - frame.getHeight()); 现在当您运行它时它将如下所示 现在要使其在预定时间后消失请在末尾添加以下行 new Thread(){Overridepublic void run() {try {Thread.sleep(5000); // time after which pop up will be disappeared.frame.dispose();} catch (InterruptedException e) {e.printStackTrace();}};
}.start(); 至此您已经成功创建了一个通知弹出窗口该通知将出现在屏幕的右下角如果未单击关闭按钮则将在一段时间后消失。 因此作为最后的修饰您可以通过应用外观和感觉或在框架中应用不同的颜色来设计它。 您还可以通过添加以下内容使其显示在所有窗口的顶部 frame.setAlwaysOnTop(true); 在上面的代码块中需要注意的一些事情 1. messageLabel中的HtMl标签。 这是使标签自动换行。 但是请确保您在消息中发短信的长度不超过特定的长度。 您可以根据需要调整此高度和弹出窗口的高度。 2. “ headingIcon” 未在代码中声明。 它是您要使用的图像图标而不是屏幕快照中的作为标题标题图标的恶魔图标。 样本声明如下所示 ImageIcon headingIcon new ImageIcon“ image_url”; 3. 当前用于弹出窗口的新窗口显示在任务栏中因此如果您希望在任务栏中不显示用于弹出窗口的窗口请将JFrame更改为JDialog。 4. 在上面的代码中默认的超时时间为5秒弹出窗口消失之前您可以根据需要通过在代码中编辑以下行来更新它 Thread.sleep5000; //弹出窗口消失的时间。 5. 要使关闭按钮看起来像默认标题栏的关闭按钮“ x”在其文本中。 您可以根据需要关闭它。 希望对您有帮助。 祝您编程愉快别忘了分享 参考 用Java弹出创建新消息通知。 来自我们的JCG合作伙伴 Harsh Raval来自harryjoy博客。 翻译自: https://www.javacodegeeks.com/2012/10/create-new-message-notification-pop-up.htmljava 消息通知