Java Swing | JDialog 带示例
原文:https://www.geeksforgeeks.org/java-swing-jdialog-examples/
JDialog 是 Java swing 包的一部分。该对话框的主要目的是向其中添加组件。JDialog 可以根据用户需求进行定制。 类的构造函数有:
- JDialog() :创建一个没有任何标题或任何指定所有者的空对话框
- JDialog(框架 o) :创建一个空对话框,指定一个框架作为其所有者
- JDialog(框架 o,字符串 s) :创建一个空对话框,指定框架为其所有者 和指定标题
- JDialog(窗口 o) :创建一个空对话框,指定一个窗口作为其所有者
- JDialog(Window o,String t) :创建一个空对话框,指定窗口作为其所有者和指定标题。
- JDialog(Dialog o) :创建一个空对话框,指定对话框作为其所有者
- JDialog(Dialog o,String s) :创建一个空对话框,指定对话框作为其所有者和指定标题。
常用方法
- 设置布局(LayoutManager m) :将对话框的布局设置为指定的布局管理器
- 设置菜单栏(JMenuBar m) :将对话框的菜单栏设置为指定的菜单栏
- 添加(组件 c) :向对话框添加组件
- 是可见的(布尔值 b) :设置对话框的可见性,如果布尔值为真,则可见,否则不可见
- 更新(Graphics g) :调用 paint(g)函数
- 移除(组件 c) :移除组件 c
- getGraphics() :返回组件的图形上下文。
- getLayeredPane() :返回对话框的分层窗格
- 设置内容窗格(容器 c) :设置对话框的内容窗格
- 设置分层窗格(JLayeredPane l) :设置对话框的分层窗格
- 设置根面板:设置对话框的根面板
- getJMenuBar() :返回组件的菜单栏
- setTransferHandler(TransferHandler n):设置 transfer handler 属性,这是一种支持将数据传输到该组件的机制。
- setRootPaneCheckingEnabled(布尔使能):设置是否将添加和设置布局的调用转发到 contentPane。
- 设置根面板(JRootPane 根目录):设置对话框的根面板属性。
- 设置玻璃面板(组件玻璃):设置对话框的玻璃面板属性。
- 重画(长时间,int x,int y,int width,int height) :在时间毫秒内重画这个组件的指定矩形。
- 移除(组件 c) :从对话框中移除指定的组件。
- isRootPaneCheckingEnabled():返回是否将添加和设置布局的调用转发到内容窗格。
- getTransferHandler() :返回 TransferHandler 属性。
- getRootPane() :返回该对话框的 RootPane 对象。
- getGlassPane() :返回该对话框的 GlassPane 对象。
- createRootPane() :由构造函数方法调用,创建默认的 RootPane。
- 添加组件(组件 co,对象 c,int i) :将指定的子组件添加到对话框中。
以下程序将说明 JDialog 1 的使用。程序创建一个简单的 JDialog
Java 语言(一种计算机语言,尤用于创建网站)
// java Program to create a simple JDialog
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class solve extends JFrame implements ActionListener {
// frame
static JFrame f;
// main class
public static void main(String[] args)
{
// create a new frame
f = new JFrame("frame");
// create a object
solve s = new solve();
// create a panel
JPanel p = new JPanel();
JButton b = new JButton("click");
// add actionlistener to button
b.addActionListener(s);
// add button to panel
p.add(b);
f.add(p);
// set the size of frame
f.setSize(400, 400);
f.show();
}
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
if (s.equals("click")) {
// create a dialog Box
JDialog d = new JDialog(f, "dialog Box");
// create a label
JLabel l = new JLabel("this is a dialog box");
d.add(l);
// setsize of dialog
d.setSize(100, 100);
// set visibility of dialog
d.setVisible(true);
}
}
}
输出:
2。程序在对话框内创建一个对话框
Java 语言(一种计算机语言,尤用于创建网站)
// java Program to create a dialog within a dialog
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class solve extends JFrame implements ActionListener {
// frame
static JFrame f;
// dialog
static JDialog d, d1;
// main class
public static void main(String[] args)
{
// create a new frame
f = new JFrame("frame");
// create a object
solve s = new solve();
// create a panel
JPanel p = new JPanel();
JButton b = new JButton("click");
// add actionlistener to button
b.addActionListener(s);
// add button to panel
p.add(b);
f.add(p);
// set the size of frame
f.setSize(400, 400);
f.show();
}
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
if (s.equals("click")) {
// create a dialog Box
d = new JDialog(f, "dialog Box");
// create a label
JLabel l = new JLabel("this is first dialog box");
// create a button
JButton b = new JButton("click me");
// add Action Listener
b.addActionListener(this);
// create a panel
JPanel p = new JPanel();
p.add(b);
p.add(l);
// add panel to dialog
d.add(p);
// setsize of dialog
d.setSize(200, 200);
// set visibility of dialog
d.setVisible(true);
}
else { // create a dialog Box
d1 = new JDialog(d, "dialog Box");
// create a label
JLabel l = new JLabel("this is second dialog box");
d1.add(l);
// setsize of dialog
d1.setSize(200, 200);
// set location of dialog
d1.setLocation(200, 200);
// set visibility of dialog
d1.setVisible(true);
}
}
}
输出:
注意:以上程序可能无法在在线编译器中运行,请使用离线 IDE
版权属于:月萌API www.moonapi.com,转载请注明出处