您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
【第18章:图形界面】_其他容器
发布时间:2021-01-16 15:32:08编辑:雪饮阅读()
面板容器
import javax.swing.JPanel ;
import javax.swing.JButton ;
import javax.swing.JLabel ;
import javax.swing.JFrame ;
public class TestJava{
public static void main(String args[]){
JFrame frame = new JFrame("Welcome TO kasumi") ;
JPanel pan = new JPanel() ; // 准备好了一个面板
// 现在所有的内容都加入到了JPanel之中
pan.add(new JLabel("kasumi")) ;
pan.add(new JLabel("snowDrink")) ;
pan.add(new JLabel("ayane")) ;
pan.add(new JButton("kasumi")) ;
pan.add(new JButton("snowDrink")) ;
pan.add(new JButton("momiji")) ;
frame.add(pan) ;// 将面板加入到窗体之上
frame.pack() ;
//设置窗体位置x,y坐标(偏移量)
frame.setLocation(300,200) ;
frame.setVisible(true) ;
}
}
分割面板容器
import javax.swing.JPanel ;
import javax.swing.JButton ;
import javax.swing.JLabel ;
import javax.swing.JFrame ;
import java.awt.Container ;
import javax.swing.JSplitPane ;
public class TestJava{
public static void main(String args[]){
JFrame frame = new JFrame("Welcome TO kasumi") ;
Container cont = frame.getContentPane() ;
//准备一个面板,面板上下分割,其中上半部分进行左右分割
JPanel pan = new JPanel();
// 左右分割
JSplitPane lfsplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,new JLabel("左标签"),new JLabel("右标签")) ;
// 设置左右分割条的分割线大小
lfsplit.setDividerSize(3) ;
// 上下分割,并且将上半部分用上面建立的左右分割容器填入
JSplitPane tpsplit = new JSplitPane(JSplitPane.VERTICAL_SPLIT,lfsplit,new JLabel("下标签")) ;
// 设置上下分割条的分割线大小
tpsplit.setDividerSize(10);
//启用上下分割的折叠功能
tpsplit.setOneTouchExpandable(true) ;
cont.add(tpsplit) ;
frame.pack() ;
frame.setLocation(300,200) ;
frame.setVisible(true) ;
}
}
tabbar选项卡面板
import java.io.File ;
import java.awt.Container ;
import javax.swing.JPanel ;
import javax.swing.JButton ;
import javax.swing.ImageIcon ;
import javax.swing.JLabel ;
import javax.swing.JFrame ;
import javax.swing.JTabbedPane ;
public class TestJava{
public static void main(String args[]){
JFrame frame = new JFrame("Welcome TO kasumi") ;
//创建内容面板
Container cont = frame.getContentPane() ;
// 创建标签并设置标签在顶部显示(tab面板容器)
JTabbedPane tab = new JTabbedPane(JTabbedPane.TOP) ;
//tab面板主体(以两个tab切换为例,'所以'需要有两个面板主体)
//面板1
JPanel pan1 = new JPanel() ;
JButton but = new JButton("kasumi") ;
pan1.add(but) ;
//面板2
JPanel pan2 = new JPanel() ;
JLabel lab = new JLabel("snowDrink") ;
pan2.add(lab) ;
//tab面板选项卡1关联面板1
tab.addTab("图片选项",new ImageIcon("d:" + File.separator + "7.jpg" ),pan1,"图象") ;
//tab面板选项卡2关联面板2
tab.addTab("文字选项",pan2) ;
//内容面板中添加上面创建的这个tab面板整体
cont.add(tab) ;
frame.setSize(330,120) ;
frame.setLocation(300,200) ;
frame.setVisible(true) ;
}
}
滚动容器
import java.io.File ;
import java.awt.Container ;
import javax.swing.JPanel ;
import javax.swing.JButton ;
import javax.swing.ImageIcon ;
import javax.swing.Icon ;
import javax.swing.JLabel ;
import javax.swing.JFrame ;
import javax.swing.JScrollPane ;
public class TestJava{
public static void main(String args[]){
JFrame frame = new JFrame("Welcome TO kasumi") ;
Container cont = frame.getContentPane() ;
Icon icon = new ImageIcon("d:" + File.separator + "7.jpg") ;
JPanel pan = new JPanel() ;
JLabel lab = new JLabel(icon) ;
//设置垂直和水平的滚动条一直显示,并且滚动容器中放入JPanel面板
JScrollPane scr1 = new JScrollPane(pan,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS ,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS) ;
pan.add(lab) ;
//滚动容器加入到内容面板
cont.add(scr1) ;
frame.setSize(230,120) ;
frame.setLocation(300,200) ;
frame.setVisible(true) ;
}
}
内部窗体的实现
import java.io.File ;
import java.awt.Container ;
import javax.swing.JPanel ;
import javax.swing.JButton ;
import javax.swing.ImageIcon ;
import javax.swing.Icon ;
import javax.swing.JLabel ;
import javax.swing.JFrame ;
import javax.swing.JDesktopPane ;
import javax.swing.JInternalFrame ;
import javax.swing.JScrollPane ;
import java.awt.BorderLayout ;
public class TestJava{
public static void main(String args[]){
JFrame frame = new JFrame("Welcome TO kasumi") ;
Container cont = frame.getContentPane() ;
cont.add(new JLabel("内部窗体"),BorderLayout.SOUTH) ;
// 定义窗体的容器
JDesktopPane desk = new JDesktopPane() ;
cont.add(desk,BorderLayout.CENTER) ;
//遍历创建内部窗体并填充到窗体容器中
Icon icon = new ImageIcon("d:" + File.separator + "7.jpg") ;
for(int i=0;i<3;i++){
//创建当前内部窗体
JInternalFrame jif = new JInternalFrame("snowDrink-" + i,true,true,true,true) ;
JPanel 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) ;
}
frame.setSize(230,120) ;
frame.setLocation(300,200) ;
frame.setVisible(true) ;
}
}
关键字词:java,容器