이 글은 주로 Java 프로그래밍에서 JDialog 형식의 사용법과 예를 소개하고 그 특성을 설명하며 필요한 친구가 배울 수 있는 참고 가치가 있습니다.
JDialog 형식은 AWT 컴포넌트의 java.awt.Dialog 클래스를 상속받은 Swing 컴포넌트의 대화 상자입니다.
JDialog 폼의 기능은 IE 브라우저를 사용할 때 나타나는 확인 대화 상자와 마찬가지로 하나의 폼에서 다른 폼을 팝업하는 것입니다. JDialog는 본질적으로 다른 유형의 양식입니다. JFrame 양식과 유사하며, 양식을 컨테이너로 변환하려면 getContentPane() 메서드도 호출해야 하며 컨테이너에서 양식의 속성을 설정해야 합니다.
다음은 간단한 예입니다.
import java.awt.Color; import java.awt.Container; 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.WindowConstants; /** * 1:JDialog窗体时Swing组件中的对话框, * JDialog的功能就是是从一个窗体中弹出另一个窗体,就像是在使用浏览器时弹出的确定对话框一样 * * 2:JDialog窗体和JFrame窗体类似,在使用时也需要调用getContentPane()方法将 * 窗体转化为容器,然后在容器中设置窗体的特性 * * 3:JDialog有五种构造方法,可以用来指定标题,窗体,和模式的对话框 * @author biexiansheng * */ public class JDialogTest extends JDialog{ public JDialogTest(){ //实例化一个JDialog类对象,指定对话框的父窗体,窗体标题和类型 super(); Container container=getContentPane(); container.setBackground(Color.green); container.add(new JLabel("这是一个对话框")); setBounds(120,120,100,100); } public void MyFrame(){ JFrame jf=new JFrame();//实例化JFrame对象 Container container=jf.getContentPane();//将窗体转化为容器 JButton jb=new JButton("弹出对话框"); jb.setBounds(10, 10, 100, 20);//设置按钮的大小 jb.addActionListener(new ActionListener() { //定义匿名内部类,这样才可以点击出现反应 @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub new JDialogTest().setVisible(true);; } }); container.add(jb);//将按钮添加到容器中,这点非常重要,不然无法显示 //设置容器的结构的特性 jf.setTitle("这是窗体转化为容器"); jf.setSize(200,200);//设置容器的大小 jf.setVisible(true);//使窗体可见 //设置窗体的关闭模式 jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } public static void main(String[] args) { // TODO Auto-generated method stub JDialogTest jd=new JDialogTest(); jd.MyFrame(); } }
또 다른 예를 살펴보겠습니다.
import java.awt.Color; import java.awt.Container; 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.WindowConstants; /** * 1:按钮JButton * @author biexiansheng * */ public class MyFrame extends JFrame { public void MyFrame(){ JFrame jf=new JFrame();//实例化一个JFrame对象 Container container=jf.getContentPane();//将窗体转化为容器 //Container container=getContentPane(); container.setLayout(null); JLabel jl=new JLabel("这是一个JFrame窗体");//在窗体中设置标签 jl.setHorizontalAlignment(JLabel.CENTER);//将标签中的文字置于标签中间的位置 container.add(jl);//将标签添加到容器中 JButton jb=new JButton("点我");//实例化一个按钮属性 jb.setBounds(20, 20,100, 50); jb.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub //使MyJDialog窗体可见 new MyJDialog(MyFrame.this).setVisible(true); //上面一句话使对话框窗体可见,这样就实现了当用户单机该按钮后将弹出对话框的功能 } }); container.add(jb);//将按钮属性添加到容器中 //设置容器里面的属性特点 container.setBackground(Color.blue); //设置容器的框架结构特性 jf.setTitle("这是一个容器");//设置容器的标题 jf.setVisible(true);//设置容器可视化 jf.setSize(450, 400);//设置容器的大小 //设置容器的关闭方式 jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } public static void main(String[] args) { // TODO Auto-generated method stub MyFrame fm=new MyFrame(); fm.MyFrame(); } } class MyJDialog extends JDialog{ //本实例代码可以看到,JDialog窗体和JFrame窗体形式基本相同,甚至在设置窗体的特性 //时调用的方法名称都基本相同,如设置窗体的大小,设置窗体的关闭状态等 public MyJDialog(MyFrame frame){//定义一个构造方法 //实例化一个JDialog类对象,指定对话框的父窗体,窗体标题,和类型 super(frame,"第一个JDialog窗体",true); Container container=getContentPane();//创建一个容器 container.add(new JLabel("这是一个对话框"));//在容器中添加标签 container.setBackground(Color.green); setBounds(120,120,100,100); } }
이 예는 JDialog 형식이 기본적으로 JFrame 형식과 동일하다는 것을 알 수 있습니다. 폼 설정 폼 크기 설정, 폼 닫기 등 속성 사용 시 호출되는 메소드 이름은 기본적으로 동일합니다.
요약
위 내용은 Java 프로그래밍에서 JDialog 형식의 사용 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!