赞
踩
5-1
package jAVA;
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import util.Common;
public class Main extends JFrame{
public Main(){
setSize(260,220);
setTitle("登陆");
Toolkit toolkit=Toolkit.getDefaultToolkit();
Dimension dsSize=toolkit.getScreenSize();
setLocation(dsSize.width/2-getWidth()/2,dsSize.height/2-getHeight()/2);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Image image=toolkit.getImage(Common.getClassPath()+"pic/logo.jpg");
setIconImage(image);
Container pnlMain=this.getContentPane();
pnlMain.setLayout(new GridLayout(3,1));
JPanel pnlTop=new JPanel();pnlTop.setBackground(Color.red);
JPanel pnlMid=new JPanel();pnlMid.setBackground(Color.yellow);
JPanel pnlBot=new JPanel();pnlBot.setBackground(Color.blue);
pnlMain.add(pnlTop);pnlMain.add(pnlMid);pnlMain.add(pnlBot);
JLabel lblTop=new JLabel();
lblTop.setIcon(new ImageIcon(Common.getClassPath()+"pic/school.jpg"));
pnlTop.add(lblTop);
JLabel lblUserName=new JLabel("用户名(U):");
JTextField txtUserName=new JTextField(12);
JLabel lblPasswd=new JLabel("口 令(P):");
JPasswordField pwdPasswd=new JPasswordField(12);
pnlMid.add(lblUserName);pnlMid.add(txtUserName);
pnlMid.add(lblPasswd);pnlMid.add(pwdPasswd);
JButton btnLogin=new JButton("登陆(L)");
JButton btnExit=new JButton("退出(X)");
btnLogin.setMnemonic('L');
pnlBot.add(btnLogin);pnlBot.add(btnExit);
this.setVisible(true);
}
public static void main(String[] args){
new Main().setVisible(true);
}
}
package util;
public class Common {
public static String getClassPath(){
return Thread.currentThread()
.getContextClassLoader().getResource("").getPath();
}
public static void main(String[] args) {
System.out.println( Common.getClassPath() );
}
}
5-2
package ja;
/*参考如下图形,完成字体选择的界面设计及事件响应。*/
/**
* @author
*/
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
import ja.Common;
public class Sy5_2 extends JFrame implements ActionListener{
private JPanel pnlMain=new JPanel();
private JLabel lblSize,lblType,lblTest;
private ButtonGroup grpColor;
private JRadioButton rbtnRed,rbtnGreen;
private JCheckBox chkBold,chkItalic;
private JButton btnExit,btnOk;
private List lstSize;
private JList lstSize2;
private JComboBox cmbType;
String[] strType={"宋体","隶书","楷体_GB2312","仿宋_GB2312"};
String[] strSize={"5","8","9","10","11","12","14","16","18","20","22","24","26","28","36","48","72"};
JTextArea txtArea;
public void initFrm(){
Toolkit toolkit=Toolkit.getDefaultToolkit();
Dimension dsSize;
this.setTitle("字体设置器");
this.setIconImage(toolkit.getImage(Common.getClassPath()+"pic/logo.jpg"));
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(250,290);
dsSize=toolkit.getScreenSize();
this.setLocation(dsSize.width/2-this.getWidth()/2,dsSize.height/2-this.getHeight()/2);
this.setResizable(false);
this.setContentPane(pnlMain);
}
public void setFontType(){
lblType=new JLabel("请选择字体");
cmbType=new JComboBox(strType);
pnlMain.add(lblType);
pnlMain.add(cmbType);
}
public void setFontSize2(){
ScrollPane sp=new ScrollPane();
lblSize=new JLabel("请选择字形");
lstSize2=new JList(new String[]{"2","4","6","8","10","12","14","16"});
lstSize2.setSelectedIndex(0);
sp.add(lstSize2);
pnlMain.add(lblSize);
pnlMain.add(sp);
}
public void setFontSize(){
lblSize=new JLabel("请选择字形");
lstSize=new List();
for(int i=10;i<30;i+=2){
lstSize.add(String.valueOf(i));
}
lstSize.select(0);
pnlMain.add(lblSize);
pnlMain.add(lstSize);
}
public void setFontColor(){
rbtnRed=new JRadioButton("红色");
rbtnGreen=new JRadioButton("绿色");
rbtnRed.setSelected(true);
pnlMain.add(rbtnRed);
pnlMain.add(rbtnGreen);
grpColor=new ButtonGroup();
grpColor.add(rbtnRed);
grpColor.add(rbtnGreen);
}
public void setFontStyle(){
chkBold=new JCheckBox("加粗");
chkItalic=new JCheckBox("斜体");
pnlMain.add(chkBold);
pnlMain.add(chkItalic);
}
public void setFontTest(){
txtArea=new JTextArea("这是测试文字\r\n 请选择后按【确定】",5,18);
btnOk=new JButton("确定");
btnExit=new JButton("退出");
btnOk.addActionListener(this);
btnExit.addActionListener(this);
pnlMain.add(txtArea);
pnlMain.add(btnOk);
pnlMain.add(btnExit);
}
public Sy5_2(){
initFrm();
setFontType();
setFontSize2();
setFontColor();
setFontStyle();
setFontTest();
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==btnExit)
System.exit(0);
else{
String strType=(String)cmbType.getSelectedItem();
int iSize=Integer.parseInt(lstSize.getItem(lstSize.getSelectedIndex()));
int iFlag=0;
if(chkBold.isSelected())
iFlag+=Font.BOLD;
if(chkItalic.isSelected())
iFlag+=Font.ITALIC;
Font font=new Font(strType,iFlag,iSize);
txtArea.setFont(font);
if(rbtnRed.isSelected())
txtArea.setForeground(Color.red);
else
txtArea.setForeground(Color.green);
}
}
public static void main(String arg[]){
new Sy5_2().setVisible(true);
}
}
package suanfa;
import java.util.Scanner;
/**
* 1.定义一个抽象类Shpae表示形状,给定颜色属性String color
* ,提供一个不带参数的构造方法和一个带参数的构造方法,完成对属性的赋值,
* 提供一个计算面积的抽象方法area()。定义一个类Circle表示圆形,
* 继承于Shape,给定专有属性半径double r,提供两个构造方法。
* 定义一个类Rectangle表示矩形,继承于Shpae,
* 给定专有属性长length、宽width ,提供两个构造方法
* 。定义一个测试类TestShape,完成圆、矩形对象的创建和面积的计算。
*
*/
abstract class Shape{
protected String color;
//不带参数的构造函数
public Shape() {
super();
}
//带参数的构造函数
public Shape(String color) {
super();
this.color = color;
}
//计算面积的抽象方法
public abstract double area();
//定义一个圆,继承于形状
class Circle extends Shape{
//专有属性半径
private double r;
//提供两个构造方法。
public Circle(double r) {
super();
this.r = r;
}
public Circle() {
r=1.0;
}
public double area(){
return 3.14*r*r;
}
//定义一个类Rectangle表示矩形,继承于Shpae,
class Rectangle extends Shape{
//定专有属性长length、宽width
private double length;
private double width;
//提供两个构造方法。
public Rectangle(double length, double width) {
super();
this.length = length;
this.width = width;
}
public Rectangle() {
super();
}
public double area(){
return width*width;
}
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。