Java程序设计教程 冶金工业出版社第5章

2019-08-17 14:26

第5章 用户界面设计

//例程5-1:WindowDemo.java import java.awt.*; import java.awt.event.*; public class WindowDemo {

public static void main(String[] args) {

AppFrame f = new AppFrame(); f.setSize(150, 150); //设置窗口的大小 f.addWindowListener(new WindowAdapter () {

public void windowClosing(WindowEvent e) {System.exit(0);} }); f.show();

}

}

class LabelWindow extends Window {

Label label;

LabelWindow(AppFrame af) { }

public void paint(Graphics g) { }

int width = getSize().width; int height = getSize().height; g.drawRect(0, 0, width, height);

//为窗口绘制边框

super(af);

setLayout(new FlowLayout());

label = new Label(\add(label);

//添加组件

}

class AppFrame extends Frame implements ActionListener {

Button bShow, bHide; LabelWindow window; AppFrame() {

setLayout(new FlowLayout());

bShow = new Button(\add(bShow);

bShow.addActionListener(this);

bHide = new Button(\add(bHide);

bHide.addActionListener(this); window = new LabelWindow(this); window.setSize(300,200); window.setLocation(300,300);

}

public void actionPerformed(ActionEvent e) {

//根据事件源决定具体的事件处理 if (e.getSource() == bShow) { }

if (e.getSource() == bHide) { }

window.setVisible(false); window.setVisible(true);

}

}

//例程5-2:SplitDemo.java import javax.swing.*; import java.awt.event.*; public class SplitDemo {

public static void main(String[] args) {

JFrame frame = new JFrame(\frame.setSize(300,150);

//建立两个文本字段,并以其为基础建立一个分割面板 JTextField text1 = new JTextField(\JTextField text2 = new JTextField(\

JSplitPane split = new JSplitPane(JSplitPane.VERTICAL_SPLIT, text1, text2); frame.getContentPane().add(split);

frame.addWindowListener(new WindowAdapter() { });

frame.setVisible(true);

public void windowClosing (WindowEvent e) { }

System.exit(0);

}

}

//例程5-3:TabbedPaneDemo.java import javax.swing.*; import java.awt.*; import java.awt.event.*; public class TabbedPaneDemo {

public static void main(String[] args) {

JFrame frame = new JFrame(\JTabbedPane tabbedPane = new JTabbedPane(); Dimension dim = new Dimension(200,100); frame.setSize(dim);

JPanel panel1 = new JPanel();

JPanel panel2 = new JPanel();

panel1.add(new JLabel(\panel2.add(new JLabel(\

//为标签面板添加两组标签,并设置标签的显示位置 tabbedPane.addTab(\tabbedPane.addTab(\tabbedPane.setTabPlacement(JTabbedPane.BOTTOM); frame.getContentPane().add(tabbedPane);

frame.addWindowListener(new WindowAdapter() { });

frame.setVisible(true);

public void windowClosing (WindowEvent e) { }

System.exit(0);

}

}

//例程5-4:FlowLayoutDemo.java import java.awt.*; import java.awt.event.*; public class FlowLayoutDemo {

public static void main(String[] args) {

Frame frame = new Frame(\

frame.setLayout(new FlowLayout()); //为容器设置相应的布局管理器 frame.add(new Button(\ frame.add(new Button(\

frame.add(new Button(\

frame.addWindowListener(new WindowAdapter() {

public void windowClosing (WindowEvent e) {

System.exit(0); } }); frame.pack(); frame.setVisible(true); } }

//例程5-5:gradLayout.java

//自动调整窗口到合适大小

import java.awt.*;

import java.awt.event.*; public class gradLayout{ public static void main(String[] args) { Frame frame = new Frame(); frame.setTitle(\

}

}

frame.setLayout(new GridLayout(2,1)); //设置相应的网格布局管理器 frame.add(new Button(\frame.add(new Button(\frame.add(new Button(\

frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } });

frame.pack();

frame.setVisible(true);

//例程5-6:gradbagLayout.java import java.awt.*; import java.awt.event.*; public class gradbagLayout{

public static void main(String[] args) { // 数

frame.add(button); constraints.gridx = 1; constraints.weightx = 0.3;

button = new Button(\gridbag.setConstraints(button,constraints);

//为Button 2设置限制参数

Frame frame = new Frame();

frame.setTitle(\GridBagLayout gridbag = new GridBagLayout();

//新建网格包实例

GridBagConstraints constraints = new GridBagConstraints(); //新建网格包限制实例 frame.setLayout(gridbag); Button button;

constraints.fill = GridBagConstraints.BOTH; //1st row constraints.gridx = 0; constraints.gridy = 0; constraints.weightx = 0.5; button = new Button(\

根据之前设定的约束,在布局管理器中安排组件

//为Button 1设置限制参

gridbag.setConstraints(button,constraints);

frame.add(button); constraints.gridx = 2; constraints.weightx = 0.2; button = new Button(\gridbag.setConstraints(button,constraints); frame.add(button);

constraints.gridx = 0; //2nd row constraints.gridy = 1; constraints.gridwidth = 2; constraints.gridheight = 3;

button = new Button(\gridbag.setConstraints(button,constraints); frame.add(button); constraints.gridx = 2; constraints.gridy = 1; constraints.gridwidth = 1; constraints.gridheight = 1; button = new Button(\gridbag.setConstraints(button, constraints); frame.add(button); constraints.gridx = 2; constraints.gridy = 3; constraints.gridwidth = 1; constraints.gridheight = 1; constraints.ipadx = 20; constraints.ipady = 20;

button = new Button(\gridbag.setConstraints(button, constraints); frame.add(button);

constraints.gridx = 1; //3rd row constraints.gridy = 4; constraints.ipadx =0; constraints.ipady =0;

constraints.fill = GridBagConstraints.NONE; constraints.insets = new Insets(10,10,10,10);

constraints.anchor = GridBagConstraints.SOUTHEAST; button = new Button(\gridbag.setConstraints(button,constraints); frame.add(button);

//为Button 7设置限制参数

//为Button 6设置限制参数

//为Button 5设置限制参数

//为Button 4设置限制参数

//为Button 3设置限制参数


Java程序设计教程 冶金工业出版社第5章.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:从空想家到行动者,正视习惯的作用

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: