Swing0902

tech2022-07-08  184

如图所示,要做出这样的效果: 首先分析大致框架为: 1、首先所以要创建一个窗体对象

//创建窗体 JFrame jFrame=new MyFrame();//在这里就可以用JFrame的子类MyFrame来进行实例化

2、然后创建两个面板

//创建一个面板 JPanel jPanel = new JPanel();//使用ctrl+1可以快速补充变量声明 //创建另外一个面板, JPanel jPanel2 = new JPanel();

3、创建按钮组件

//创建一个按钮,并添加到面板中 JButton jButton = new JButton();

4、最后记得将组件添加到面板里、将面板添加到窗体中

//将面板组件添加到窗体中 jFrame.add(jPanel); jPanel2.add(jButton); jFrame.add(jPanel2);

5、最后一定要设置窗体是可见的

//end设置窗体可见,放到最后 jFrame.setVisible(true);

6、其他的就是设置窗体和面板的标题、显示位置大小、是否可以改变大小、设置窗体的图标、设置窗体关闭的动作。

setTitle();//设置标题的方法 setBounds();//设置显示位置及大小 setResizable();//是否可以改变大小 setImageIcon();//设置窗体的图标 setDefaultCloseOperation();//设置窗体关闭的动作

代码:

package com.hp.java; import java.awt.Color; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class SwingTest { //测试JFrame窗体的创建 public static void main(String[] args) { //使用JFrame类创建窗体--》创建JFrame类的对象 //JFrame()/JFrame(String title) //创建窗体 JFrame jFrame=new MyFrame();//在这里就可以用JFrame的子类MyFrame来进行实例化 /** * 希望完善的地方: * 设置窗体的大小、设置窗体的标题、设置窗体的图标、设置窗体关闭时的动作、在设置好窗体的大小之后不可以改变 */ //1、设置窗体的显示位置及大小 jFrame.setBounds(100, 300, 500, 500);//这时候你发现这个窗体可以拖拽、并且改变宽度和高度 //2、设置窗体的标题 jFrame.setTitle("Swing测试"); //3、设置窗体的图标 (当查询一个类时,可以用ctrl+shift+T;当查询类中的方法时,可以用ctrl+O) //new ImageIcon()实例化,不能用Image,因为Image是一个抽象类。getIamge()返回的类型为Image jFrame.setIconImage(new ImageIcon("img/logo.png").getImage()); //4、设置窗体关闭的动作 jFrame.setDefaultCloseOperation(3);//3代表JFrame.EXIT_ON_CLOSE //5、在设置好窗体的大小之后不可以改变 jFrame.setResizable(false); //创建一个面板 JPanel jPanel = new JPanel();//使用ctrl+1可以快速补充变量声明 jPanel.setBackground(Color.blue); jPanel.setBounds(0, 0, 500, 300); /** * 如果没有下面这两句代码,上边的一句代码无法实现。 */ jFrame.setLayout(null); jPanel.setLayout(null); //将面板组件添加到窗体中 jFrame.add(jPanel); //创建另外一个面板, JPanel jPanel2 = new JPanel(); jPanel2.setBounds(0, 300, 500, 200); //创建一个按钮,并添加到面板中 JButton jButton = new JButton(); jButton.setText("按钮"); jPanel2.add(jButton); jFrame.add(jPanel2); //end设置窗体可见,放到最后 jFrame.setVisible(true); } } class MyFrame extends JFrame{ } class MyPanel extends JPanel{ }
最新回复(0)