导航:首页 > 编程语言 > java自定义对话框

java自定义对话框

发布时间:2023-09-01 12:48:33

A. java swing Jpanel 怎么添加一个Jdialog弹出框

通过: 弹出框, 顾名思义就是刚开始看不见, 触发某个事件后弹出的一个框

所以 我们要让JPanel响应指定的事件然后弹出 . 比如常见的事件, 鼠标点击JPanel后弹出

弹出框. 一般有两种方法实现

  1. 方法一:JOptionPane 创建1个简单的弹出框.(代码量少, 效果简单)

  2. 方法二Dialog/JDialog 创建1个弹出框.(代码量长,可以实现复杂的效果)

效果图

importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;


publicclassDemoextendsJFrame{
JPaneljp;
staticfinalStringtitle="Message";
staticfinalStringcontent="Eggsaren'tsupposedtobegreen.";
publicDemo(){
jp=newJPanel();
jp.setBackground(Color.PINK);
jp.addMouseListener(newMouseAdapter(){
@Override
publicvoidmouseClicked(MouseEvente){
//方法1
JOptionPane.showMessageDialog(null,content,title,JOptionPane.INFORMATION_MESSAGE);
//方法2
newMyDailog(title,content).setVisible(true);//创建1个对话框,并且设置为可见
}
});
add(jp);
setTitle("测试Demo");//标题
setSize(280,280);//窗口大小
setLocationRelativeTo(null);//窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//窗口点击关闭时,退出程序
setVisible(true);//窗口可见
}

publicstaticvoidmain(String[]args){
newDemo();
}

}

//对话框类
{
Stringtitle;
Stringcontent;

publicMyDailog(Stringtitle,Stringcontent){
this.title=title;
this.content=content;
ImageIconicon=newImageIcon("tp.png");//创建1个图标实例
JLabeljlImg=newJLabel(icon);//1个图片标签,显示图片
JLabeljl=newJLabel(content);//1个文字标签,显示文本
jl.setForeground(Color.BLUE);//设置文字的颜色为蓝色
JButtonjb=newJButton("确定");//创建1个按钮
jb.addActionListener(this);//给按钮添加响应事件
add(jlImg);//向对话框加入图片标签
add(jl);//向对话框加入文字标签
add(jb);//向对话框添加按钮
setLayout(newFlowLayout());//对话框流式布局
setIconImage(icon.getImage());//窗口左上角的小图标
setTitle(title);//设置标题
setModal(true);//设置为模态窗口
setSize(275,135);//设置对话框大小
setLocationRelativeTo(null);//对话框局域屏幕中央
setResizable(false);//对话框不可缩放
setDefaultCloseOperation(DISPOSE_ON_CLOSE);//当对话框窗口的关闭按钮[X]被点击时,销毁对话框
}

//当确定按钮被点击时会执行下面的方法
@Override
publicvoidactionPerformed(ActionEvente){
if(e.getActionCommand().equals("确定")){//判断是不是确定按钮被点击
this.setVisible(false);//对话框不可见
this.dispose();//对话框销毁
}
}
}

B. 怎么利用java web编写一个输入框和一个按钮,点击按钮弹出一个对话框,显示你刚才在输入框输入的内容

<scripttype="text/javascript">
functionsend(){
vartxt=document.getElementById("input");
alert(txt.value);
}
</script>
<body>
<inputtype="text"id="input"></input>
<buttonid="send"onclick="send();">提交</button>
</body>

C. java对话框实现多个输入项

效果图

importjava.awt.BorderLayout;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;

importjavax.swing.JButton;
importjavax.swing.JDialog;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.JTextField;

{
finalJTextFieldjtf1,jtf2,jtf3;//定义三个输入框
finalJLabeljlinfo;

publicDHKDemo(){
setTitle("多项输入对话框");
setModal(true);
setSize(300,200);//对话框的大小
setDefaultCloseOperation(DISPOSE_ON_CLOSE);//关闭后销毁对话框
setLocationRelativeTo(null);
JLabeljl1=newJLabel("姓名:");
jtf1=newJTextField(8);
JLabeljl2=newJLabel("学号:");
jtf2=newJTextField(8);
JLabeljl3=newJLabel("年龄:");
jtf3=newJTextField(8);
JPaneljp=newJPanel(newGridLayout(3,2));
jp.add(jl1);
jp.add(jtf1);
jp.add(jl2);
jp.add(jtf2);
jp.add(jl3);
jp.add(jtf3);
JButtonjb=newJButton("确认输入");
jlinfo=newJLabel("信息:",JLabel.CENTER);
jb.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){
Stringinfo="姓名:"+jtf1.getText()+"学号:"+jtf2.getText()+"年龄:"+jtf3.getText();
jlinfo.setText(info);
}
});

add(jp);
add(jlinfo,BorderLayout.NORTH);
add(jb,BorderLayout.SOUTH);

}

publicstaticvoidmain(String[]args){
newDHKDemo().setVisible(true);
}
}

D. 用java编写一个程序,程序运行时弹出一个输入对话框,用户使用该对话

packagecn.fu;
importjava.awt.BorderLayout;
importjava.awt.EventQueue;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
importjavax.swing.border.EmptyBorder;
importjavax.swing.JOptionPane;
importjavax.swing.JTextField;
importjavax.swing.JLabel;
importjavax.swing.JButton;
importjava.awt.event.ActionListener;
importjava.awt.event.ActionEvent;
importjava.awt.Window.Type;
publicclassLoginextendsJFrame{
privateJPanelcontentPane;
privateJTextFieldtextField;
/**
*Launchtheapplication.
*/
publicstaticvoidmain(String[]args){
EventQueue.invokeLater(newRunnable(){
publicvoidrun(){
try{
Loginframe=newLogin();
frame.setVisible(true);
}catch(Exceptione){
e.printStackTrace();
}
}
});
}
/**
*Createtheframe.
*/
publicLogin(){
setTitle("工具");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100,100,450,300);
contentPane=newJPanel();
contentPane.setToolTipText("");
contentPane.setBorder(newEmptyBorder(5,5,5,5));
setContentPane(contentPane);
contentPane.setLayout(null);
textField=newJTextField();
textField.setBounds(121,86,194,21);
contentPane.add(textField);
textField.setColumns(10);
JLabellblNewLabel=newJLabel("请输入10位数以内的字符串");
lblNewLabel.setBounds(145,59,194,15);
contentPane.add(lblNewLabel);
JButtonbtnNewButton=newJButton("确定");
btnNewButton.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
Stringca=textField.getText();
intn=ca.length();
if(n>10){
JOptionPane.showMessageDialog(null,"对不起,您输入的字符串长度超过10",
"错误提示",JOptionPane.ERROR_MESSAGE);
}elseif(n>=0||n<=10){
JOptionPane.showMessageDialog(null,"字符串长度为"+n,"提示",
JOptionPane.PLAIN_MESSAGE);
}
}
});
btnNewButton.setBounds(172,130,93,23);
contentPane.add(btnNewButton);
}
}

阅读全文

与java自定义对话框相关的资料

热点内容
android新系统 浏览:508
安卓80有什么bug 浏览:678
如何做单机服务器 浏览:943
校讯通查成绩怎么显示服务器异常 浏览:882
冰箱压缩机工作压力是多少 浏览:408
程序员20多平米租房 浏览:451
电工知识用线的算法 浏览:338
极光推送php服务器端 浏览:5
怎么用命令方块控制僵尸 浏览:774
大型云服务器有哪些 浏览:466
解压版三国街机 浏览:423
去中心化app里面包含什么 浏览:948
密钥安装命令行 浏览:505
文献编译英文 浏览:659
php调用浏览器 浏览:527
数控车床编程初学实例 浏览:951
cad中筛选命令是什么 浏览:802
数控铣床法兰克编程 浏览:331
怎么样分解压缩包图标 浏览:621
php两年工作经验简历 浏览:765