Applet中如何使用对话框 JDialog dialog = new JDialog(frame);它要有一个Frame作为父窗口,才能实现它没关的时候Frame用不了,如何让Applet也能实现这种效果 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主可以先写一个applet,再写一个继承JDialog的类,在这个类的构造方法开头加上super (jFrame,"hihi",true),其中true表示打开时父窗体停止运行最后在父窗体中加入 ClearAll ca = new ClearAll(new JFrame()); ca.setBounds(300,300,480,150); ca.setVisible(true);JDialog的代码如下package epigraphdesign;import javax.swing.JComponent;import javax.swing.*;import java.awt.*;import java.applet.Applet;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;/** * <p>Title: </p> * * <p>Description: </p> * * <p>Copyright: Copyright (c) 2006</p> * * <p>Company: </p> * * @author not attributable * @version 1.0 */public class ClearAll extends JDialog { JPanel jPanel1 = new JPanel(); JButton jButton1 = new JButton(); JButton jButton2 = new JButton(); JCheckBox jCheckBox1 = new JCheckBox(); JCheckBox jCheckBox2 = new JCheckBox(); JCheckBox jCheckBox3 = new JCheckBox(); public ClearAll(JFrame jFrame) { super (jFrame,"hihi",true); try { jbInit(); } catch (Exception ex) { ex.printStackTrace(); } } private void jbInit() throws Exception { this.setResizable(false); this.setTitle("清空选项"); this.setLayout(null); jPanel1.setBackground(SystemColor.inactiveCaption); jPanel1.setBorder(BorderFactory.createEtchedBorder()); jPanel1.setBounds(new Rectangle(10, 10, 361, 100)); jPanel1.setLayout(null); jButton2.addActionListener(new ClearAll_jButton2_actionAdapter(this)); jButton1.addActionListener(new ClearAll_jButton1_actionAdapter(this)); this.add(jPanel1); jCheckBox2.setBackground(SystemColor.inactiveCaption); jCheckBox2.setFont(new java.awt.Font("新宋体", Font.PLAIN, 12)); jCheckBox2.setText("清空背面"); jCheckBox2.setBounds(new Rectangle(121, 35, 85, 23)); jCheckBox3.setBackground(SystemColor.inactiveCaption); jCheckBox3.setFont(new java.awt.Font("新宋体", Font.PLAIN, 12)); jCheckBox3.setText("清空"); jCheckBox3.setBounds(new Rectangle(222, 36, 85, 23)); jPanel1.add(jCheckBox1); jPanel1.add(jCheckBox2); jPanel1.add(jCheckBox3); jCheckBox1.setBackground(SystemColor.inactiveCaption); jCheckBox1.setFont(new java.awt.Font("新宋体", Font.PLAIN, 12)); jCheckBox1.setBounds(new Rectangle(22, 35, 85, 23)); jCheckBox1.setText("清空正面"); jButton2.setBounds(new Rectangle(384, 70, 71, 30)); jButton2.setFont(new java.awt.Font("新宋体", Font.PLAIN, 12)); jButton2.setText("取消"); this.add(jButton1); this.add(jButton2); jButton1.setBounds(new Rectangle(384, 22, 71, 30)); jButton1.setFont(new java.awt.Font("新宋体", Font.PLAIN, 12)); jButton1.setText("确定"); jCheckBox1.setSelected(true); jCheckBox2.setSelected(true); jCheckBox3.setSelected(true); } public void jButton2_actionPerformed(ActionEvent e) { this.setVisible(false); } public void jButton1_actionPerformed(ActionEvent e) { this.setVisible(false); if(jCheckBox1.isSelected()) {EpiApp.clear(EpiApp.jPanel7);EpiApp.jPanel7.repaint();} if(jCheckBox2.isSelected()) {EpiApp.clear(EpiApp.jPanel8);EpiApp.jPanel8.repaint();} if(jCheckBox3.isSelected()) {EpiApp.clear(EpiApp.jPanel10);EpiApp.jPanel10.repaint();} }}class ClearAll_jButton2_actionAdapter implements ActionListener { private ClearAll adaptee; ClearAll_jButton2_actionAdapter(ClearAll adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.jButton2_actionPerformed(e); }}class ClearAll_jButton1_actionAdapter implements ActionListener { private ClearAll adaptee; ClearAll_jButton1_actionAdapter(ClearAll adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.jButton1_actionPerformed(e); }} Frame frame = (Frame)SwingUtilities.getAncestorOfClass(Frame.class, applet);JDialog dialog = new JDialog(frame, "title", true); 不写有frame的构造器的对话框就就行了,照样弹出来。JDialog d = new JDialog(); 求java例子 关于 Character JList 如何根据日期获得这个日期所在周的最后一天? 超级疑惑,java的流是个对象还是个数组,一个BufferedInputStream对象可以从不同机器之间转发吗 请问如何给文件夹改名? 贵求个位高手的帮忙 如何在JBuilder9中配置Java Communications API 在JBuilder里怎么把application打包成.exe文件,让用户双击直接可运行? bas4.5是干什么用的呀?不要见笑 drawImage()的问题 连接sql 2000 问题
ca.setBounds(300,300,480,150);
ca.setVisible(true);JDialog的代码如下package epigraphdesign;import javax.swing.JComponent;
import javax.swing.*;
import java.awt.*;
import java.applet.Applet;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class ClearAll extends JDialog { JPanel jPanel1 = new JPanel();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
JCheckBox jCheckBox1 = new JCheckBox();
JCheckBox jCheckBox2 = new JCheckBox();
JCheckBox jCheckBox3 = new JCheckBox();
public ClearAll(JFrame jFrame) {
super (jFrame,"hihi",true);
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
} private void jbInit() throws Exception {
this.setResizable(false);
this.setTitle("清空选项");
this.setLayout(null);
jPanel1.setBackground(SystemColor.inactiveCaption);
jPanel1.setBorder(BorderFactory.createEtchedBorder());
jPanel1.setBounds(new Rectangle(10, 10, 361, 100));
jPanel1.setLayout(null); jButton2.addActionListener(new ClearAll_jButton2_actionAdapter(this));
jButton1.addActionListener(new ClearAll_jButton1_actionAdapter(this));
this.add(jPanel1);
jCheckBox2.setBackground(SystemColor.inactiveCaption);
jCheckBox2.setFont(new java.awt.Font("新宋体", Font.PLAIN, 12));
jCheckBox2.setText("清空背面");
jCheckBox2.setBounds(new Rectangle(121, 35, 85, 23));
jCheckBox3.setBackground(SystemColor.inactiveCaption);
jCheckBox3.setFont(new java.awt.Font("新宋体", Font.PLAIN, 12));
jCheckBox3.setText("清空");
jCheckBox3.setBounds(new Rectangle(222, 36, 85, 23));
jPanel1.add(jCheckBox1);
jPanel1.add(jCheckBox2);
jPanel1.add(jCheckBox3);
jCheckBox1.setBackground(SystemColor.inactiveCaption);
jCheckBox1.setFont(new java.awt.Font("新宋体", Font.PLAIN, 12));
jCheckBox1.setBounds(new Rectangle(22, 35, 85, 23));
jCheckBox1.setText("清空正面");
jButton2.setBounds(new Rectangle(384, 70, 71, 30));
jButton2.setFont(new java.awt.Font("新宋体", Font.PLAIN, 12));
jButton2.setText("取消");
this.add(jButton1);
this.add(jButton2);
jButton1.setBounds(new Rectangle(384, 22, 71, 30));
jButton1.setFont(new java.awt.Font("新宋体", Font.PLAIN, 12));
jButton1.setText("确定");
jCheckBox1.setSelected(true);
jCheckBox2.setSelected(true);
jCheckBox3.setSelected(true);
} public void jButton2_actionPerformed(ActionEvent e) {
this.setVisible(false);
} public void jButton1_actionPerformed(ActionEvent e) {
this.setVisible(false);
if(jCheckBox1.isSelected()) {EpiApp.clear(EpiApp.jPanel7);EpiApp.jPanel7.repaint();}
if(jCheckBox2.isSelected()) {EpiApp.clear(EpiApp.jPanel8);EpiApp.jPanel8.repaint();}
if(jCheckBox3.isSelected()) {EpiApp.clear(EpiApp.jPanel10);EpiApp.jPanel10.repaint();}
}
}
class ClearAll_jButton2_actionAdapter implements ActionListener {
private ClearAll adaptee;
ClearAll_jButton2_actionAdapter(ClearAll adaptee) {
this.adaptee = adaptee;
} public void actionPerformed(ActionEvent e) {
adaptee.jButton2_actionPerformed(e);
}
}
class ClearAll_jButton1_actionAdapter implements ActionListener {
private ClearAll adaptee;
ClearAll_jButton1_actionAdapter(ClearAll adaptee) {
this.adaptee = adaptee;
} public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
JDialog dialog = new JDialog(frame, "title", true);