⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 13.txt

📁 电子工业出版社出版的《java2应用开发指南》配套光盘源代码
💻 TXT
📖 第 1 页 / 共 4 页
字号:

例程13-1
//SameTypeDemo.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class SameTypeDemo extends JFrame
{
    JButton jb1, jb2, jb3;
    //Construct the frame
    public SameTypeDemo()
    {
        //获取内容Panel容器的引用
		Container contentPane = getContentPane();
		//设置内容Panel容器的布局管理器为null
 		contentPane.setLayout(null);
		// 创建3 个Swing按钮
		jb1 = new JButton("Swing Button #1");
		jb2 = new JButton("Swing Button #2");
		jb3 = new JButton("Swing Button #3");

		// 设置Swing按钮的位置
		jb1.setBounds(85, 25, 150, 65);
		jb2.setBounds(100, 65, 150, 65);
		jb3.setBounds(115, 105, 150, 65);
		// 把Swing按钮加入到容器中并显示(注意添加的顺序)
		contentPane.add(jb1);
		contentPane.add(jb2);
		contentPane.add(jb3);
    }
    //程序的入口方法
	public static void main( String[] args )
	{
		//创建框架窗体
		SameTypeDemo frmSameType = new SameTypeDemo();
        frmSameType.setSize(new Dimension(400, 300));
		//设置框架窗体的事件监听(关闭窗体事件)
		frmSameType.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e)
			{
				System.exit(0);
			}
		});
		//显示框架窗体
	    frmSameType.validate();
		frmSameType.show();
	}
}



例程13-2
//DifferentTypeDemo.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class DifferentTypeDemo extends JFrame 
{
    JButton jButton1 = new JButton();
    JButton jButton2 = new JButton();
    Button button1 = new Button();

    //Constructor method
    public DifferentTypeDemo()
    {
        //设置布局管理器为null
        this.getContentPane().setLayout(null);
        //轻量组件
        jButton1.setText("Swing Button#1");
        jButton1.setBounds(new Rectangle(72, 32, 164, 92));
        jButton2.setText("Swing button#2");
        jButton2.setBounds(new Rectangle(96, 91, 165, 91));
        //重量组件
        button1.setBounds(new Rectangle(177, 143, 137, 67));
        button1.setLabel("AWT Button");
        //添加组件到容器中
        this.getContentPane().add(jButton1);
        this.getContentPane().add(jButton2);
        this.getContentPane().add(button1);
    }
	//程序的入口方法
    public static void main(String[] args)
    {
        //创建框架窗体
        DifferentTypeDemo differentTypeDemo = new DifferentTypeDemo();
        //设置框架窗口的大小
        differentTypeDemo.setSize(new Dimension(400, 300));
		//设置框架窗体的事件监听(关闭窗体事件)
		differentTypeDemo.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e)
			{
				System.exit(0);
			}
		});
		//显示框架窗体
	    differentTypeDemo.validate();
		differentTypeDemo.show();
    }
}



例程13-3
//BorderDemo.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.border.*;
import javax.swing.*;
public class BorderDemo extends JFrame 
{
    public BorderDemo() 
    {
        //设置框架窗口的标题
        super("使用边框的例子");
        //定义5个简单类型的边框
        Border blackline, etched, raisedbevel, loweredbevel, empty;
        //创建黑色的线状边框
        blackline = BorderFactory.createLineBorder(Color.black);
        //创建蚀刻边框
        etched = BorderFactory.createEtchedBorder();
        //创建凸出边框
        raisedbevel = BorderFactory.createRaisedBevelBorder();
        //创建凹陷边框
        loweredbevel = BorderFactory.createLoweredBevelBorder();
        //创建空的边框
        empty = BorderFactory.createEmptyBorder();
        //First pane: simple borders
        JPanel simpleBorders = new JPanel();
        simpleBorders.setLayout(new BoxLayout(simpleBorders, BoxLayout.Y_AXIS));
        addCompForBorder(blackline, "线状边框",simpleBorders);
        addCompForBorder(etched, "蚀刻边框",simpleBorders);
        addCompForBorder(raisedbevel, "凸出边框",simpleBorders);
        addCompForBorder(loweredbevel, "凹陷边框",simpleBorders);
        addCompForBorder(empty, "空的边框",simpleBorders);
            //Second pane: titled borders
        JPanel titledBorders = new JPanel();
        titledBorders.setLayout(new BoxLayout(titledBorders,BoxLayout.Y_AXIS));
        TitledBorder titled;
        titled = BorderFactory.createTitledBorder("title");
        addCompForBorder(titled,
                         "default titled border"
                         + " (default just., default pos.)",
                         titledBorders);
        titled = BorderFactory.createTitledBorder(blackline, "title");
        addCompForTitledBorder(titled,
                               "titled line border"
                                   + " (centered, default pos.)",
                               TitledBorder.CENTER,
                               TitledBorder.DEFAULT_POSITION,
                               titledBorders);
        titled = BorderFactory.createTitledBorder(etched, "title");
        addCompForTitledBorder(titled,
                               "titled etched border"
                                   + " (right just., default pos.)",
                               TitledBorder.RIGHT,
                               TitledBorder.DEFAULT_POSITION,
                               titledBorders);
        titled = BorderFactory.createTitledBorder(loweredbevel, "title");
        addCompForTitledBorder(titled,
                               "titled lowered bevel border"
                                   + " (default just., above top)",
                               TitledBorder.DEFAULT_JUSTIFICATION,
                               TitledBorder.ABOVE_TOP,
                               titledBorders);
        titled = BorderFactory.createTitledBorder(empty, "title");
        addCompForTitledBorder(titled, "titled empty border"
                               + " (default just., bottom)",
                               TitledBorder.DEFAULT_JUSTIFICATION,
                               TitledBorder.BOTTOM,
                               titledBorders);
          //创建TabbledPane组件
        JTabbedPane tabbedPane = new JTabbedPane();        
        tabbedPane.addTab("简单的边框", null, simpleBorders, null);       
        tabbedPane.addTab("带有标题的边框", null, titledBorders, null); 
        tabbedPane.setSelectedIndex(0);
        getContentPane().add(tabbedPane, BorderLayout.CENTER);
    }
	//添加带有标题的边框
    void addCompForTitledBorder(TitledBorder border,
                                String description,
                                int justification,
                                int position,
                                Container container) 
    {
        border.setTitleJustification(justification);
        border.setTitlePosition(position);
        addCompForBorder(border, description,
                         container);
    }
	//添加简单的边框
    void addCompForBorder(Border border,
                          String description,
                          Container container) 
    {
        JPanel comp = new JPanel(false);
        JLabel label = new JLabel(description, JLabel.CENTER);
        comp.setLayout(new GridLayout(1, 1));
        comp.add(label);
        comp.setBorder(border);
        container.add(Box.createRigidArea(new Dimension(0, 10)));
        container.add(comp);
    }

	//程序的入口方法
    public static void main(String[] args) 
    {
        JFrame frame = new BorderDemo();
        //添加框架窗口的事件监听(监听关闭框架窗口事件)
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                //正常推出Java虚拟机
                System.exit(0);
            }
        });
		//显示框架窗口
        frame.pack();
        frame.setVisible(true);
    }
}



例程13-4
//LabelDemo.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class LabelDemo extends JFrame
{
  public LabelDemo() 
  {
    //设置框架窗口标题
    super("JLabel Demo");
    //设置框架窗口的大小为宽为600,高为400
    setSize(600, 400);
    //获取内容窗格容器
    Container content = getContentPane();
    //设置内容窗格容器的布局管理器为BorderLayout
    content.setLayout(new BorderLayout());
    //创建一个JPanel容器,并加入到内容窗格容器的上部
    JPanel pnlLabel=new JPanel();
    pnlLabel.setLayout(new GridLayout(1, 4, 4, 4));
    content.add(pnlLabel,BorderLayout.NORTH);
	//创建一个可滚动的面板,并将图像标签加入到其中?
	JScrollPane pnlImage=new JScrollPane(new JLabel(new ImageIcon("image.jpg")));
	//把滚动面板加入到内容窗格容器的中部
	content.add(pnlImage,BorderLayout.CENTER);
	//下面的代码是往JPanel容器中加入各种标签
    JLabel label = new JLabel();
    label.setText("JLabel");
    label.setBackground(Color.white);
    pnlLabel.add(label);
    label = new JLabel("JLabel",SwingConstants.CENTER);
    label.setOpaque(true);
    label.setBackground(Color.white);
    pnlLabel.add(label);
    label = new JLabel("JLabel");
    label.setFont(new Font("Helvetica", Font.BOLD, 18));
    label.setOpaque(true);
    label.setBackground(Color.white);
    pnlLabel.add(label);
    ImageIcon image = new ImageIcon("flight.gif");
    label = new JLabel("JLabel", image,SwingConstants.RIGHT);
    label.setVerticalTextPosition(SwingConstants.TOP);
    label.setOpaque(true);
    label.setBackground(Color.white);
    pnlLabel.add(label);
	//显示框架窗口
    setVisible(true);
  }
  //应用程序的入口方法
  public static void main(String args[]) 
  {
     LabelDemo frame=new LabelDemo();
     //添加框架窗口的事件监听(监听关闭框架窗口事件)
    frame.addWindowListener(new WindowAdapter() {
        public void windowClosing(WindowEvent e) {
            //正常退出Java虚拟机
            System.exit(0);
        }
    });
  }
}



例程13-5
//ButtonDemo.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ButtonDemo extends JFrame 
{
	Icon icon = new ImageIcon("flight.gif");
	JButton noargButton = new JButton(),
				textButton = new JButton("text"),
				textIconButton = new JButton("text", icon),
				iconButton = new JButton(icon);
	public ButtonDemo() 
	{
		//设置框架窗口标题
    	super("JButton Demo");
		//获取内容窗格容器
	    Container contentPane = getContentPane();
		//设置内容窗格容器的布局管理器为FlowLayout
		contentPane.setLayout(new FlowLayout());
		//把四个JButton组件加入到内容窗格容器中
		contentPane.add(noargButton);
		contentPane.add(textButton);
		contentPane.add(iconButton);
		contentPane.add(textIconButton);
		//显示框架窗口
		pack();
    	setVisible(true);
	}
	//应用程序的入口方法
	public static void main(String args[]) 
	{
		 ButtonDemo frame=new ButtonDemo();
		 //添加框架窗口的事件监听(监听关闭框架窗口事件)
		 frame.addWindowListener(new WindowAdapter() {
		    public void windowClosing(WindowEvent e) {
		        //正常推出Java虚拟机
		        System.exit(0);
		    }
		});
	}
}



例程13-6
// ToggleButtonDemo.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

public class ToggleButtonDemo extends JFrame
{
    JPanel pnlGroup = new JPanel();
    JPanel pnlSimple = new JPanel();
    TitledBorder titledBorder1;

    public ToggleButtonDemo()
    {
        //把两个容器Panel加入到框架窗口的内容窗格中
        this.getContentPane().add(pnlSimple, BorderLayout.NORTH);
        this.getContentPane().add(pnlGroup, BorderLayout.CENTER);
        //在第一容器Panel中加入四个反转按钮
        pnlSimple.setBorder(new EtchedBorder(EtchedBorder.RAISED));         
        JToggleButton button1 = new JToggleButton("Text");
	    JToggleButton button2 = new JToggleButton(new ImageIcon("flight.gif"));
	    JToggleButton button3 = new JToggleButton(new ImageIcon("flight.gif"),true);
	    JToggleButton button4 = new JToggleButton("Text",true);
	    pnlSimple.add(button4);
        pnlSimple.add(button3);
        pnlSimple.add(button2);
        pnlSimple.add(button1);
	    
        //在第二容器Panel中加入三个反转按钮并通过添加到ButtonGroup中
        titledBorder1 = new TitledBorder(BorderFactory.createEtchedBorder(),"Button group");
        pnlGroup.setBorder(titledBorder1);        
        ButtonGroup group=new ButtonGroup();
        JToggleButton[] buttons=new JToggleButton[]{
        	new JToggleButton( new ImageIcon("flight.gif")),
        	new JToggleButton( new ImageIcon("flight.gif")),
        	new JToggleButton( new ImageIcon("flight.gif")),
        };         
        for( int i=0; i< buttons.length; i++ ){
        	group.add(buttons[i]);
        	pnlGroup.add(buttons[i]);
        }
        
        //显示框架窗口
		pack();
    	setVisible(true);
    }
    //应用程序的入口方法
	public static void main(String args[]) 
	{
		 ToggleButtonDemo frame = new ToggleButtonDemo();
		 //添加框架窗口的事件监听(监听关闭框架窗口事件)
		 frame.addWindowListener(new WindowAdapter() {
		    public void windowClosing(WindowEvent e) {
		        //正常推出Java虚拟机
		        System.exit(0);
		    }
		});
	}
}



例程13-7
// CheckButtonDemo.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CheckButtonDemo extends JFrame
{
    public CheckButtonDemo()
    {
        //获取内容窗格容器
        Container contentPane= this.getContentPane();
        //设置内容窗格容器的布局管理器为FlowLayout
        contentPane.setLayout(new FlowLayout());
        //内容窗格容器中加入两个复选按钮        
        JCheckBox button1 = new JCheckBox("Text1");
	    JCheckBox button2 = new JCheckBox("Text2",true);
	    contentPane.add(button2);
        contentPane.add(button1);
          //显示框架窗口
		pack();
    	setVisible(true);
    }
    //应用程序的入口方法
	public static void main(String args[]) 
	{
		 CheckButtonDemo frame = new CheckButtonDemo();
		 //添加框架窗口的事件监听(监听关闭框架窗口事件)
		 frame.addWindowListener(new WindowAdapter() {
		    public void windowClosing(WindowEvent e) {
		        //正常推出Java虚拟机
		        System.exit(0);
		    }
		});
	}
}



例程13-8
// RadioButtonDemo.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class RadioButtonDemo extends JFrame
{
    public RadioButtonDemo()
    {
        //获取内容窗格容器
        Container contentPane= this.getContentPane();
        //设置内容窗格容器的布局管理器为FlowLayout
        contentPane.setLayout(new FlowLayout());
        //内容窗格容器中加入两个单选按钮        
        JRadioButton button1 = new JRadioButton("Text1");
	    JRadioButton button2 = new JRadioButton("Text2",true);
	    contentPane.add(button1);
        contentPane.add(button2);
        //把两个单选按钮加入到ButtonGroup控件组中
        ButtonGroup group = new ButtonGroup();
        group.add(button1);
        group.add(button2);
        //显示框架窗口
		pack();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -