网站建设资讯

NEWS

网站建设资讯

java代码添加模态框 java动态加载类框架

问下各位大神,在java编写的程序中点击菜单栏的一个菜单项,比如在格式菜单下的字体和颜色,弹出一个窗口

你说的是打开非模态对话框。

为文山州等地区用户提供了全套网页设计制作服务,及文山州网站建设行业解决方案。主营业务为网站建设、网站设计、文山州网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

如果模态对话框不关闭,无法操作主窗体。喊孝坦如果非模态对话框不关闭,仍然可以操作主窗体。

//构造模态对话框

final Dialog d = new Dialog(this, "模态对话框", true);

//构造非模态对话框

final Dialog d = new Dialog(this, "模慎圆态对话框", false);

样例程序如下:

import java.awt.Dialog;

import java.awt.FlowLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import javax.swing.JButton;

import javax.swing.JFrame;

public class Main extends JFrame implements ActionListener {

JButton btnModel, btnNonModel;

public Main() {

super("对话框");

this.setLayout(new FlowLayout());

btnModel = new JButton("打开模态对话框");

btnNonModel = new JButton("打开非模态对话框");

this.add(btnModel);

this.add(btnNonModel);

btnModel.addActionListener(this);

btnNonModel.addActionListener(this);

this.setSize(200, 200);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args) {

new Main();

}

@Override

public void actionPerformed(ActionEvent arg0) {

JButton btn = (JButton) arg0.getSource();

if(btn == btnModel) { //打开模态对话框

final Dialog d = new Dialog(this, "模态对话框", true);

d.setSize(800, 600);

d.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent evt) {

d.setVisible(false);

}

});

d.setVisible(true);

}

else if(btn == btnNonModel) { //打开非模态对话框

final Dialog d = new Dialog(this, "非模态对话框", false);

d.setSize(800, 600);

d.addWindowListener(new WindowAdapter() 郑桐{

public void windowClosing(WindowEvent evt) {

d.setVisible(false);

}

});

d.setVisible(true);

}

}

}

Java swing 问题

setModal(true)时,显示的,是模态窗口,此时界面线程阻塞,无法操作其他迅穗散界面了,只能操作族肢此对亩氏话框上的内容。

一般用于显示警告/错误信息、录入信息等。

java 如何在jDialog里调用jFrame的组件

//问题的关键在于,如何从jDialog中获取jFrame的引用。

//我是用内部类的形式解决该问题的。而且直接操作jFrame的早清组件。

//还可以在新建自定义jDialog类时,传入jFrame的引用。

import java.awt.BorderLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JDialog;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JTextArea;

import javax.swing.JTextField;

public class FrameTest extends JFrame {

private JTextArea textArea;

public static void main(String[] args) {

new FrameTest();

}

public FrameTest() {

this.setSize(400, 300);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

initPanel();

this.setVisible(true);

}

private void initPanel() {

JButton button = new JButton("Add");

textArea = new JTextArea();

button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

openDialog();

}

});

this.add(button, BorderLayout.NORTH);

this.add(textArea, BorderLayout.CENTER);

}

private void openDialog() {

final JDialog dialog = new JDialog(this, true);

含友    dialog.setSize(300, 200);

dialog.setLocation(getX() + 50, getY() + 50);

dialog.setLayout(new GridLayout(3, 2));

final JTextField name = new JTextField(10);

final JTextField phone = new JTextField(10);

JButton save = new JButton("保存");

JButton cancel = new JButton("取消");

save.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

textArea.append(name.getText() + ":" + phone.getText() + "\n");

dialog.dispose();

}

});

cancel.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

dialog.dispose();

}

});

dialog.add(new JLabel("姓名:"));

dialog.add(name);

dialog.add(new JLabel("Tel :"));

dialog.add(phone);

dialog.add(save);

谈睁槐    dialog.add(cancel);

dialog.setVisible(true);

}

}


当前文章:java代码添加模态框 java动态加载类框架
文章出自:http://njwzjz.com/article/dsphsod.html