• Java——其他容器


    除了JFrame表示之外,还有其他几种常见的窗体:JPanel、JSplitPane、JTabbedPane、JScrollPane、JDesktopPane、JInternalFrame等。

    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    
    //=================================================
    // File Name       :	JPanel_demo
    //------------------------------------------------------------------------------
    // Author          :	Common
    
    
    
    //主类
    //Function        : 	JPanel_demo
    public class JPanel_demo {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
    		JPanel pan = new JPanel();												//实例化JPanel对象
    		pan.add(new JLabel("标签--A"));
    		pan.add(new JLabel("标签--B"));
    		pan.add(new JLabel("标签--C"));
    		pan.add(new JButton("按钮--A"));
    		pan.add(new JButton("按钮--B"));
    		pan.add(new JButton("按钮--C"));
    		f.add(pan);			//将JPanel加入到窗体中
    		f.pack();
    		f.setLocation(300,200);		//设置显示位置
    		f.setVisible(true);
    	}
    
    }
    

    import java.awt.Container;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JSplitPane;
    
    //=================================================
    // File Name       :	JSplitPane_demo
    //------------------------------------------------------------------------------
    // Author          :	Common
    
    
    
    //主类
    //Function        : 	JSplitPane_demo
    public class JSplitPane_demo {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
    		Container cont = f.getContentPane();							//得到窗体容器
    		JSplitPane lfsplit = null;													//左右分割的JSplitPane
    		JSplitPane tbsplit = null;													//上下分割的JSplitPane
    		
    		lfsplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,new JLabel("左标签"),new JLabel("右标签"));
    		lfsplit.setDividerSize(20); 					//设置左右的分割线大小
    		
    		tbsplit = new JSplitPane(JSplitPane.VERTICAL_SPLIT,lfsplit,new JLabel("右标签"));
    		tbsplit.setDividerSize(10);		//按百分比设置上下的分割线大小
    		tbsplit.setOneTouchExpandable(true); 		//快速展开/折叠分割条
    		cont.add(tbsplit); 								//将tbsplit加入到窗体
    		f.setSize(230, 80);  				//设置窗体
    		f.setLocation(300,200);		//设置显示位置
    		f.setVisible(true);
    	}
    
    }
    

    import java.awt.Container;
    
    import javax.swing.ImageIcon;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTabbedPane;
    
    //=================================================
    // File Name       :	JTabbedPane_demo
    //------------------------------------------------------------------------------
    // Author          :	Common
    
    
    
    //主类
    //Function        : 	JTabbedPane_demo
    public class JTabbedPane_demo {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
    		Container cont = f.getContentPane();							//得到窗体容器
    		JTabbedPane tab = null;
    		tab = new JTabbedPane(JTabbedPane.TOP);				//设置标签在顶部显示
    		JPanel pan1 = new JPanel();					//设置面板
    		JPanel pan2 = new JPanel();					//设置面板
    		JButton but = new JButton("按钮");	  	//定义按钮
    		JLabel lab = new JLabel("标签");				//定义标签
    		pan1.add(but);
    		pan2.add(lab);
    		String picPath = "/home/common/software/database/123.jpg";
    		tab.addTab("图片选项", new ImageIcon(picPath), pan1,"图像");
    		tab.addTab("文字选项", pan2);
    		cont.add(tab);					//加入到容器中
    		f.setSize(440, 320);  				//设置窗体
    		f.setLocation(300,200);		//设置显示位置
    		f.setVisible(true);
    	}
    
    }
    

    import java.awt.Container;
    
    import javax.swing.Icon;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    
    //=================================================
    // File Name       :	JScrollPane_demo
    //------------------------------------------------------------------------------
    // Author          :	Common
    
    
    
    //主类
    //Function        : 	JScrollPane_demo
    public class JScrollPane_demo {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
    		Container cont = f.getContentPane();							//得到窗体容器
    		String picPath = "/home/common/software/database/photo.jpg";
    		Icon icon = new ImageIcon(picPath);				//实例化Icon对象
    		JPanel pan = new JPanel();									//定义一个面板
    		JLabel lab = new JLabel(icon);								//定义一个标签,显示图片
    		pan.add(lab); 					//将标签加到面板中
    		JScrollPane scrl = null;			//声明滚动面板
    		scrl = new JScrollPane(pan,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    		cont.add(scrl);						//加入到容器中
    		f.setSize(440, 320);  				//设置窗体
    		f.setLocation(300,200);		//设置显示位置
    		f.setVisible(true);
    	}
    
    }
    

     

    import java.awt.BorderLayout;
    import java.awt.Container;
    
    import javax.swing.Icon;
    import javax.swing.ImageIcon;
    import javax.swing.JDesktopPane;
    import javax.swing.JFrame;
    import javax.swing.JInternalFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    
    //=================================================
    // File Name       :	JDesktopPane_demo
    //------------------------------------------------------------------------------
    // Author          :	Common
    
    
    
    //主类
    //Function        : 	JDesktopPane_demo
    public class JDesktopPane_demo {
    
    	public static void main(String[] args) {
    		// TODO 自动生成的方法存根
    		JFrame f = new JFrame("Swing窗口");							//实例化窗体对象
    		f.setLayout(new BorderLayout());									//设置布局管理器
    		Container cont = f.getContentPane();							//得到窗体容器
    		JDesktopPane desk = new JDesktopPane();				//实例化JDesktopPane容器
    		cont.add(desk, BorderLayout.CENTER); 					//将Desktop加入到窗体
    		JInternalFrame jif = null;						//声明一个内部窗体对象
    		String picPath = "/home/common/software/database/123.jpg";
    		Icon icon = new ImageIcon(picPath);				//实例化Icon对象
    		JPanel pan = null;
    		for(int i=0;i<3;i++){
    			jif = new JInternalFrame("指定标签"+i,true,true,true,true);
    			pan = new JPanel();				//定义一个面板
    			pan.add(new JLabel(icon));		//加入一个标签
    			jif.setLocation(35-i*10, 35-i*10); 		//设置显示位置
    			jif.add(pan);
    			
    			jif.pack();
    			jif.setVisible(true);
    			desk.add(jif);			//将内部窗体加入到Desktop中
    		}
    		f.setSize(440, 320);  			//设置窗体
    		f.setLocation(300,200);		//设置显示位置
    		f.setVisible(true);
    	}
    
    }
    
  • 相关阅读:
    NoHttp开源Android网络框架1.0.0之架构分析
    3种浏览器性能測试
    自己定义控件-画板,橡皮擦,刮刮乐
    android优化 清除无效代码 UCDetector
    iOS推送 (百度推送)
    C#中的协变OUT和逆变
    使用反射构造对象实例并动态调用方法
    用反射获取构造函数带参数的实例对象
    自己实现一个IOC(控制翻转,DI依赖注入)容器
    func 和action 委托的使用
  • 原文地址:https://www.cnblogs.com/tonglin0325/p/5309097.html
Copyright © 2020-2023  润新知