String title = "";//输入弹出窗口的标题 int optionType = JOptionPane.DEFAULT_OPTION;//按钮类型,默认是确定,还有YES_NO_OPTION,YES_NO_CANCEL_OPTION,OK_CANCEL_OPTION. int messageType = JOptionPane.WARNING_MESSAGE;//弹出窗口的图标类型,这里的是感叹号。还有ERROR_MESSAGE,INFORMATION_MESSAGE,QUESTION_MESSAGE,PLAIN_MESSAGE. JOptionPane.showConfirmDialog(t,"Error for three times!!!",title,optionType,messageType);//t是弹出窗口的基层窗口
那jDialog是什么呢?怎么用?我只是想调用想”ABOUT关于“那样的对话框
看看jbuilder自动生成的这个: 用的时候 MainFrame_AboutBox aa=new MainFrame_AboutBox(); aa.show(); 就可以了import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*;public class MainFrame_AboutBox extends JDialog implements ActionListener { private JPanel panel1 = new JPanel(); private JPanel panel2 = new JPanel(); private JPanel insetsPanel1 = new JPanel(); private JPanel insetsPanel2 = new JPanel(); private JPanel insetsPanel3 = new JPanel(); private JButton button1 = new JButton(); private JLabel imageLabel = new JLabel(); private JLabel label1 = new JLabel(); private JLabel label2 = new JLabel(); private JLabel label3 = new JLabel(); private JLabel label4 = new JLabel(); private BorderLayout borderLayout1 = new BorderLayout(); private BorderLayout borderLayout2 = new BorderLayout(); private FlowLayout flowLayout1 = new FlowLayout(); private GridLayout gridLayout1 = new GridLayout(); private String product = ""; private String version = "1.0"; private String copyright = "Copyright (c) 2003"; private String comments = ""; public MainFrame_AboutBox(Frame parent) { super(parent); enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { //imageLabel.setIcon(new ImageIcon(MainFrame_AboutBox.class.getResource("[Your Image]"))); this.setTitle("About"); panel1.setLayout(borderLayout1); panel2.setLayout(borderLayout2); insetsPanel1.setLayout(flowLayout1); insetsPanel2.setLayout(flowLayout1); insetsPanel2.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); gridLayout1.setRows(4); gridLayout1.setColumns(1); label1.setText(product); label2.setText(version); label3.setText(copyright); label4.setText(comments); insetsPanel3.setLayout(gridLayout1); insetsPanel3.setBorder(BorderFactory.createEmptyBorder(10, 60, 10, 10)); button1.setText("Ok"); button1.addActionListener(this); insetsPanel2.add(imageLabel, null); panel2.add(insetsPanel2, BorderLayout.WEST); this.getContentPane().add(panel1, null); insetsPanel3.add(label1, null); insetsPanel3.add(label2, null); insetsPanel3.add(label3, null); insetsPanel3.add(label4, null); panel2.add(insetsPanel3, BorderLayout.CENTER); insetsPanel1.add(button1, null); panel1.add(insetsPanel1, BorderLayout.SOUTH); panel1.add(panel2, BorderLayout.NORTH); setResizable(true); } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { if (e.getID() == WindowEvent.WINDOW_CLOSING) { cancel(); } super.processWindowEvent(e); } //Close the dialog void cancel() { dispose(); } //Close the dialog on a button event public void actionPerformed(ActionEvent e) { if (e.getSource() == button1) { cancel(); } } }
比如说
JOptionPane.showMessage(null,'message',"title",messagetype);
int optionType = JOptionPane.DEFAULT_OPTION;//按钮类型,默认是确定,还有YES_NO_OPTION,YES_NO_CANCEL_OPTION,OK_CANCEL_OPTION.
int messageType = JOptionPane.WARNING_MESSAGE;//弹出窗口的图标类型,这里的是感叹号。还有ERROR_MESSAGE,INFORMATION_MESSAGE,QUESTION_MESSAGE,PLAIN_MESSAGE.
JOptionPane.showConfirmDialog(t,"Error for three times!!!",title,optionType,messageType);//t是弹出窗口的基层窗口
用的时候
MainFrame_AboutBox aa=new MainFrame_AboutBox();
aa.show();
就可以了import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;public class MainFrame_AboutBox extends JDialog implements ActionListener { private JPanel panel1 = new JPanel();
private JPanel panel2 = new JPanel();
private JPanel insetsPanel1 = new JPanel();
private JPanel insetsPanel2 = new JPanel();
private JPanel insetsPanel3 = new JPanel();
private JButton button1 = new JButton();
private JLabel imageLabel = new JLabel();
private JLabel label1 = new JLabel();
private JLabel label2 = new JLabel();
private JLabel label3 = new JLabel();
private JLabel label4 = new JLabel();
private BorderLayout borderLayout1 = new BorderLayout();
private BorderLayout borderLayout2 = new BorderLayout();
private FlowLayout flowLayout1 = new FlowLayout();
private GridLayout gridLayout1 = new GridLayout();
private String product = "";
private String version = "1.0";
private String copyright = "Copyright (c) 2003";
private String comments = "";
public MainFrame_AboutBox(Frame parent) {
super(parent);
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
//imageLabel.setIcon(new ImageIcon(MainFrame_AboutBox.class.getResource("[Your Image]")));
this.setTitle("About");
panel1.setLayout(borderLayout1);
panel2.setLayout(borderLayout2);
insetsPanel1.setLayout(flowLayout1);
insetsPanel2.setLayout(flowLayout1);
insetsPanel2.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
gridLayout1.setRows(4);
gridLayout1.setColumns(1);
label1.setText(product);
label2.setText(version);
label3.setText(copyright);
label4.setText(comments);
insetsPanel3.setLayout(gridLayout1);
insetsPanel3.setBorder(BorderFactory.createEmptyBorder(10, 60, 10, 10));
button1.setText("Ok");
button1.addActionListener(this);
insetsPanel2.add(imageLabel, null);
panel2.add(insetsPanel2, BorderLayout.WEST);
this.getContentPane().add(panel1, null);
insetsPanel3.add(label1, null);
insetsPanel3.add(label2, null);
insetsPanel3.add(label3, null);
insetsPanel3.add(label4, null);
panel2.add(insetsPanel3, BorderLayout.CENTER);
insetsPanel1.add(button1, null);
panel1.add(insetsPanel1, BorderLayout.SOUTH);
panel1.add(panel2, BorderLayout.NORTH);
setResizable(true);
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
cancel();
}
super.processWindowEvent(e);
}
//Close the dialog
void cancel() {
dispose();
}
//Close the dialog on a button event
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button1) {
cancel();
}
}
}
JDialog 相对比较麻烦点,它可以由你自己构建画面,相对也灵活点
jTextArea1.append("asdfadsfsadf\n");
jTextArea1.append("sadfsadfdsf\n");
jTextArea1.append("sadfsadf\n");
JOptionPane.showMessageDialog(null,jTextArea1,"dsfsadfsfd",JOptionPane.INFORMATION_MESSAGE);
JTextArea jTextArea1 = new JTextArea();
LookAndFeel.installBorder(jTextArea1,"Label.border");
LookAndFeel.installColorsAndFont(jTextArea1,"Label.background",
"Label.foreground","Label.font");
jTextArea1.append("asdfadsfsadf\n");
jTextArea1.append("sadfsadfdsf\n");
jTextArea1.append("sadfsadf\n");
JOptionPane.showMessageDialog(null,jTextArea1,"dsfsadfsfd",JOptionPane.INFORMATION_MESSAGE);
创建一个对话框就是了。
例如一个小程序。(在窗口中单击一个按钮就可弹出一个对话框)
import java.awt.*;
public class mydialog extends Frame
{ public mydialog(String title)
{ super(title);
Dialog dg=new Dialog(this,"确定这是你所需要的对话框吗");
//给对话框加了两个按钮阿。不过没有对他们进行事件处理。哈。你自己干巴。
Panel p=new Panel();
p.add(new Button("yes"));
p.add(new Button("no"));
dg.add(p);
dg.setSize(80,80);
dg.show( );
setSize(200,100);
setVisible(true);
}
public static void main(String[] args)
{new mydialog("对话框示例");
}
}}