关于java全力弹弹的信息

博主:adminadmin 2022-12-17 05:12:08 58

本篇文章给大家谈谈java全力弹弹,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JAVA怎么弹出对话框

需要引入下面的名称空间javax.swing.JOptionPane JOptionPane

public JOptionPane(Object message,

int messageType,

int optionType,

Icon icon,

Object[] options,

Object initialValue)在指定最初选择的选项的前提下,创建一个显示消息的 JOptionPane 的实例,使其具有指定的消息类型、图标和选项。

参数:

message – 要显示的 Object

messageType – 要显示的消息类型:ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE 或 PLAIN_MESSAGE

optionType – 要在窗格中显示的选项:DEFAULT_OPTION、YES_NO_OPTION、YES_NO_CANCEL_OPTION、OK_CANCEL_OPTION

icon – 要显示的图标图像

options – 用户可以选择的选项

initialValue – 最初选择的选项;如果为 null,则不做最初选择;只有在使用 options 时才有意义

java怎样实现弹出窗口

JOptionPane.showMessageDialog()

public static void showMessageDialog(Component parentComponent,

Object message,

String title,

int messageType)

throws HeadlessException调出对话框,它显示使用由 messageType 参数确定的默认图标的 message。

参数:

parentComponent - 确定在其中显示对话框的 Frame;如果为 null 或者 parentComponent 不具有 Frame,则使用默认的 Frame

message - 要显示的 Object

title - 对话框的标题字符串

messageType - 要显示的消息类型:ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE 或 PLAIN_MESSAGE

JAVA的弹窗怎么做?

JAVA弹窗,有下面常见的2种方法实现:

通过JDialog(模式窗口) 类来实现.里面的写法类似JFrame

重点方法提示: setModal(true);

//当设置为true表示,如果不关闭这个弹窗,那么主界面的其他组件都无法操作,该弹窗置于其他窗口的前面

//当设置为false表示,可以绕开本弹窗,对主界面的其他组件进行操作

优点: 功能强大,  扩展性强

缺点: 代码量大.

示例图

通过JOptionPane(提示框) 来实现

效果图如下

优点: 代码量少,简单,方便, 普通场景已经够用

缺点: 扩展性不够, 复杂逻辑难以实现.

下面写一个具体案例

场景:当用于对文本域的文字,进行操作后,那么退出时,提示用户, 是否要保存已经更改后的内容.  如果用户没有修改内容,那么不用提示

重点代码

addDocumentListener--用于实现对文本内容发生改变时进行响应

addWindowListener---用于实现对窗口进行操作时进行响应

完整代码如下

import java.awt.Font;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.event.*;

public class JDDemo extends JFrame implements DocumentListener,WindowListener{

JTextArea jta;

boolean flag;

public JDDemo() {

jta = new JTextArea();//文本域

jta.setText("床前明月光");//文本域的文字--可以通过IO加载txt文档的文字

jta.setFont(new Font("宋体",Font.BOLD, 20));//文本域的字体

jta.setLineWrap(true);//设置自动换行

jta.getDocument().addDocumentListener(this);//添加文档变化事件的响应.比如修改,删除等

JScrollPane jsp = new JScrollPane(jta);//滚动面板(当文字太多时,显示滚动条)

add(jsp);

setTitle("主窗口");//标题

setSize(300, 260);//大小

setLocationRelativeTo(null);//居中

setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//点击窗口的关闭按钮时,执行windowClosing的代码

addWindowListener(this);

setVisible(true);//窗口可见

}

public static void main(String[] args) {

new JDDemo();

}

//实现WindowListener接口,需要重写下面的6个方法, windowClosing专门处理关闭时的方法

public void windowOpened(WindowEvent e) {

}

public void windowClosing(WindowEvent e) {

if(flag){

int n = JOptionPane.showConfirmDialog(null, "已经更改了内容,需要保存后再退出吗?", "提示",JOptionPane.YES_NO_OPTION);

//n等于-1表示关闭了弹出的对话框等情况的默认值

//n等于0(JOptionPane.YES_OPTION)表示选择了Yes

//n等于1(JOptionPane.NO_OPTION)表示选择了No

if(n==JOptionPane.YES_OPTION){

//把文字保存到文件的代码省略...

System.out.println("正在使用IO进行保存..ing");

closeFrame();//关闭窗口并退出

}else if(n==JOptionPane.NO_OPTION){

System.out.println("放弃保存修改.马上退出");

closeFrame();

}

}else{

closeFrame();

}

}

public void windowClosed(WindowEvent e) {

}

public void windowIconified(WindowEvent e) {

}

public void windowDeiconified(WindowEvent e) {

}

public void windowActivated(WindowEvent e) {

}

public void windowDeactivated(WindowEvent e) {

}

//文档事件,有下面三个,如果触发其中一个,都可以认为修改了文档,所以需要在退出时进行提示,是否保存

public void insertUpdate(DocumentEvent e) {//插入

flag=true;

}

public void removeUpdate(DocumentEvent e) {//删除

flag=true;

}

public void changedUpdate(DocumentEvent e) {//改变

flag=true;

}

//关闭窗口的方法

public void closeFrame(){

this.setVisible(false);//窗口不可见

this.dispose();//窗口销毁

System.exit(0);//JVM虚拟机退出

}

}

运行效果图:

java 定时弹出提示窗口

首先,给你看一个简单的代码例子先:

import java.util.*;

public class Test {

public static void main(String[] args) {

Date myDate = new Date();

Timer timer = new Timer();

timer.schedule(new MyTask(), myDate);

}

static class MyTask extends java.util.TimerTask {

public void run() {

System.out.println("________");

}

}

}

这段代码的作用是:在当前时间打印出“________”。

这里用到了Timer的schedule方法,该方法的使用有如下两种情况:

schedule(TimerTask task, Date time)设定指定任务task在指定时间time执行;

schedule(TimerTask task, long delay, long period)方法设定指定任务task在指定延迟delay后进行固定延迟peroid的执行。

scheduleAtFixedRate(TimerTask task, long delay, long period)方法设定指定任务task在指定延迟delay后进行固定频率peroid的执行。

这里要注意一点:如果是用后面两个方法的话,则要通过timer的cancel()方法结束其运行,否则会一直循环执行下去。

那么,回到你的题目,只要将Date time参数改一下、将上面的run()方法的方法体改一下就行了。

记得给我分哦~~^_^

java程序点击弹出窗口

帮你改了一下,主要是将Frame12 窗体弹出来后,将Frame11 窗体设置setEnabled(false);向Frame12窗体添加一个窗口监听事件,当其关闭时将Frame11窗体设置setEnabled(true);

Frame11的对象通过Frame12类的构造方法来传递。

import java.awt.event.*;

import javax.swing.*;

public class Frame11 extends JFrame implements ActionListener{

private JMenuBar jmb;

private JPanel pan;

private JTextField t1;

private JButton button1;

private JLabel lab1;

Frame12 frame12;

Frame11(){

super("信息修改");

this.setBounds(250, 100, 750,500);

pan=new JPanel();

lab1=new JLabel("请输入班级:");

t1=new JTextField(16);

button1=new JButton("查询");

button1.addActionListener((ActionListener) this);

jmb = new JMenuBar();

JMenu jm1 = new JMenu("修改信息");

pan.setLayout(null);

lab1.setBounds(10,10,70,25);

t1.setBounds(85,10,200,25);

button1.setBounds(320,10,60,25);

jmb.add(jm1);

pan.add(button1);

pan.add(lab1);

pan.add(t1);

this.setResizable(false); //窗口大小锁定,设置后,无法通过鼠标拖动,调整大小。

//如果锁定了窗口,那么最大化窗口的按钮将被自动禁用

validate(); this.setContentPane(pan);

this.setVisible(true);

setJMenuBar(jmb);

}

public void actionPerformed(ActionEvent e) {

if(e.getSource()==button1){

frame12=new Frame12(this);

this.setFocusable(false);

setEnabled(false);

}

}

public static void main(String[] args) {

new Frame11();

}

}

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import javax.swing.*;

public class Frame12 extends JFrame{

/**

*

*/

private static final long serialVersionUID = -3490142483418228449L;

private JMenuBar jmb;

private JPanel pan;

private JButton button1;

private JLabel lab1;

private JPasswordField tfPass;

Frame12(final Frame11 frame11){

super("修改密码");

this.setBounds(550, 250, 290,150);

pan=new JPanel();

lab1=new JLabel("请重新输入密码:");

tfPass = new JPasswordField(20);

button1=new JButton("确认");

jmb = new JMenuBar();

JMenu jm1 = new JMenu("用户密码修改");

pan.setLayout(null);

lab1.setBounds(10,10,100,25);

tfPass.setBounds(110,10,150,25);

button1.setBounds(200,45,60,25);

jmb.add(jm1);

pan.add(button1);

pan.add(lab1);

pan.add(tfPass);

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e) {

frame11.setEnabled(true);

}

});

this.setResizable(false); //窗口大小锁定,设置后,无法通过鼠标拖动,调整大小。

//如果锁定了窗口,那么最大化窗口的按钮将被自动禁用

validate();

this.setContentPane(pan);

this.setVisible(true);

setJMenuBar(jmb);

}

}

关于java全力弹弹和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-17,除非注明,否则均为首码项目网原创文章,转载请注明出处。