在java中 如何使按钮点击后 弹出一个新的对话框?
package jlabel;
import java.awt.Color;
import javax.swing.JFrame;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileInputStream;
import java.io.File;
import java.io.InputStream;
import javax.swing.Icon;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JTextArea;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Calculagraph{
public static void main(String [] args){
JFrame frame = new JFrame("闹钟");
JTextField time = new JTextField(30);
JLabel timeLab = new JLabel("定时时间设定(请输入数字) :");
JTextArea event = new JTextArea(3,10);
//JTextField event = new JTextField(80);
JLabel eventLab = new JLabel("事件提醒设定 :");
JButton but = new JButton("确 定");
but.setBounds(300,120,80,20);
String picPath = "D:" + File.separator + "0852193.jpg";
File file = new File(picPath);
InputStream input = null;
byte b[] = new byte[(int)file.length()];
try{
input = new FileInputStream(file);
input.read(b);
input.close();
}catch(Exception e){
e.printStackTrace();
}
Icon icon = new ImageIcon(b);
JLabel lab = null;
lab = new JLabel("",icon,JLabel.LEFT );
Font fnt = new Font("Serief",Font.ITALIC + Font.BOLD,28);
lab.setFont(fnt);
lab.setBackground(Color.YELLOW);
lab.setForeground(Color.RED);
timeLab.setBounds(200,20,170,20);
eventLab.setBounds(200,50,100,20);
time.setBounds(380,20,150,25);
event.setBounds(310,50,220,50);
frame.add(timeLab);
frame.add(time);
frame.add(eventLab);
frame.add(event);
frame.add(but);
frame.add(lab);
frame.setSize(600,200);
frame.setBackground(Color.WHITE);
frame.setLocation(300,200);
frame.setLocation(300,200);
frame.setVisible(true);
}
}
这是我写的代码,可是不知道如何是确定按钮点击后,出现一个新的对话框。还有就是如何在新对话框弹出之后,前一个对话自动关闭? 谢谢高手们!
[code="java"]
import java.awt.Color;
import javax.swing.JFrame;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileInputStream;
import java.io.File;
import java.io.InputStream;
import javax.swing.Icon;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JTextArea;
public class TTest
{
public static void main(String[] args)
{
final JFrame frame = new JFrame("闹钟");
JTextField time = new JTextField(30);
JLabel timeLab = new JLabel("定时时间设定(请输入数字) :");
JTextArea event = new JTextArea(3, 10);
// JTextField event = new JTextField(80);
JLabel eventLab = new JLabel("事件提醒设定 :");
JButton but = new JButton("确 定");
but.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
JFrame jf = new JFrameTest();
frame.setVisible(false);
jf.setVisible(true);
}
});
but.setBounds(300, 120, 80, 20);
String picPath = "D:" + File.separator + "0852193.jpg";
File file = new File(picPath);
InputStream input = null;
byte b[] = new byte[(int) file.length()];
try
{
input = new FileInputStream(file);
input.read(b);
input.close();
}
catch (Exception e)
{
e.printStackTrace();
}
Icon icon = new ImageIcon(b);
JLabel lab = null;
lab = new JLabel("", JLabel.LEFT);
Font fnt = new Font("Serief", Font.ITALIC + Font.BOLD, 28);
lab.setFont(fnt);
lab.setBackground(Color.YELLOW);
lab.setForeground(Color.RED);
timeLab.setBounds(200, 20, 170, 20);
eventLab.setBounds(200, 50, 100, 20);
time.setBounds(380, 20, 150, 25);
event.setBounds(310, 50, 220, 50);
frame.add(timeLab);
frame.add(time);
frame.add(eventLab);
frame.add(event);
frame.add(but);
frame.add(lab);
frame.setSize(600, 200);
frame.setBackground(Color.WHITE);
frame.setLocation(300, 200);
frame.setLocation(300, 200);
frame.setVisible(true);
}
}
class JFrameTest extends JFrame
{
public JFrameTest()
{
init();
}
public void init()
{
this.setSize(300, 300);
this.setTitle("弹出框");
// this.setVisible(true);
}
}
[/code]