1.编写一个JFrame窗口程序,要求窗口标题栏的文字是“这是一个JFrame窗口程序”
package test;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MyJFrameApp extends JFrame {
void init() {
setTitle("这是一个JFrame窗口程序"); // 标(题)
setSize(500, 200); // 尺(寸)
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关(闭)
setLayout(new FlowLayout()); // (布)局
setVisible(true); // 最后(可)见
validate();// 最后重新布局
}
public static void main(String[] args) {
MyJFrameApp fa = new MyJFrameApp();
fa.init();
}
}
2.编写一个JFrame窗口程序,要求窗口的内容面板上有一个按钮,点击按钮可以弹出一个对话框
package test;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FrameApp extends JFrame implements ActionListener {
void init() {
setTitle("Example"); // 标(题)
setSize(200, 200); // 尺(寸)
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关(闭)
setLayout(new FlowLayout()); // (布)局
setVisible(true); // 最后(可)见
JButton jb = new JButton("按钮");
add(jb);
jb.addActionListener(this);
// MyActionListener list = new MyActionListener();
// list.set(inputText, outputText);
// goButton.addActionListener(list);
validate();// 最后重新布局
}
public static void main(String[] args) {
FrameApp fa = new FrameApp();
fa.init();
}
public void actionPerformed(ActionEvent e) {// 事件响应
JOptionPane.showMessageDialog(null, "ok");// 弹出窗口
}
}
3.图形界面有一个标签,一个文本框和一个按钮,编写程序实现点击按钮后,将文本框的内容取出,作为标签文本复制给标签
package test;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class MyJPanle extends JFrame {// 界面设计
void init() {
setTitle("Example"); // 标(题)
setSize(600, 300); // 尺(寸)
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关(闭)
setLayout(new FlowLayout()); // (布)局
setVisible(true); // 最后(可)见
JTextField inputText = new JTextField(50);
JLabel outputText = new JLabel("标签文件");
JButton goButton = new JButton("开始");
add(inputText);
add(goButton);
add(outputText);
MyActionListener list = new MyActionListener();
list.set(inputText, outputText);
goButton.addActionListener(list);
validate();
}
public static void main(String[] args) {
MyJPanle win = new MyJPanle();
win.init();
}
}
class MyActionListener implements ActionListener {// 事件监听器
JTextField inputText;
JLabel outputText;
void set(JTextField t1, JLabel t2) {
inputText = t1;
outputText = t2;
}
public void actionPerformed(ActionEvent e) {// 事件响应
String str = inputText.getText();// 读取字符串
outputText.setText(str);// 输出
}
}
4.如图标签1的字号比文本框的字号大,当单击按钮是,若输入文本框中的数正确,则标签2文本显示绿色的“正确”,否则显示红色的“不正确”
package test;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class MyJPanle extends JFrame {// 界面设计
void init() {
setTitle("Example"); // 标(题)
setSize(600, 300); // 尺(寸)
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关(闭)
setLayout(new FlowLayout()); // (布)局
setVisible(true); // 最后(可)见
JTextField inputText = new JTextField(3);
JLabel jl1 = new JLabel("6+9=");
JLabel jl2 = new JLabel("是否正确");
JButton goButton = new JButton("判题");
Font f = new Font("Arial",Font.PLAIN,24);//改变大小
jl1.setFont(f);
add(jl1);
add(inputText);
add(jl2);
add(goButton);
MyActionListener list = new MyActionListener();
list.set(inputText, jl1 , jl2);
goButton.addActionListener(list);
validate();
}
public static void main(String[] args) {
MyJPanle win = new MyJPanle();
win.init();
}
}
class MyActionListener implements ActionListener {// 事件监听器
JTextField inputText;
JLabel jl1;
JLabel jl2;
void set(JTextField t1, JLabel j1, JLabel j2) {
inputText = t1;
jl1 = j1;
jl2 = j2;
}
public void actionPerformed(ActionEvent e) {// 事件响应
String str = inputText.getText();// 读取字符串
int count = Integer.parseInt(str);//!!!!!!String转int
if(count==15) {
jl2.setText("正确");
jl2.setForeground(Color.GREEN);
}
else {
jl2.setText("不正确");
jl2.setForeground(Color.RED);
}
}
}
5.编写一个JFrame窗口程序,要求窗口具有菜单File,菜单File具有菜单项Exit。程序运行时,若选择Open,则把当前源程序的内容在窗口的内容面板上显示出来,若选择Exit则退出程序
package test;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.*;
public class Eeample {
public static void main(String[] args) {
String str = "显示元文件";
MyJFrame mf = new MyJFrame(str, 400, 300);
mf.setVisible(true);
}
}
class MyJFrame extends JFrame implements ActionListener {
JTextArea text = new JTextArea();
JScrollPane jsp = new JScrollPane(text);
Container conPane = null;
FileReader file;
BufferedReader in;
public MyJFrame(String name, int w, int h) {
super();
setTitle(name);
setSize(w, h);
setLocation(100, 100);
conPane = getContentPane();
conPane.setLayout(new BorderLayout());
text.setEditable(false);
conPane.add(jsp, BorderLayout.CENTER);
JMenuBar mnb = new JMenuBar();
JMenu fileMenu = new JMenu("File");
JMenuItem openItem = new JMenuItem("Open");
JMenuItem exitItem = new JMenuItem("Exit");
openItem.addActionListener(this);
exitItem.addActionListener(this);
fileMenu.add(openItem);
fileMenu.addSeparator();
fileMenu.add(exitItem);
mnb.add(fileMenu);
setJMenuBar(mnb);
try {
File f = new File("src\\Eeample.java");
file = new FileReader(f);
in = new BufferedReader(file);
} catch (FileNotFoundException e) {
text.setText("文件没找到");
openItem.removeActionListener(this);
}
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
String s;
if (e.getActionCommand() == "Exit") {
System.exit(0);
} else if (e.getActionCommand() == "Open") {
try {
while ((s = in.readLine()) != null) {
text.append(s + '\n');
}
} catch (IOException exp) {
}
}
}
}
6.用输入流度,并统计用户输入信息中字母,数字,其他字符的数量
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ReadIn {
public static void main(String[] args) throws IOException {
int Int = 0;
int Cha = 0;
int Other = 0;
InputStreamReader in = new InputStreamReader(System.in);// 输入流
BufferedReader br = new BufferedReader(in);
System.out.println("请输入:");
String str = br.readLine();
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) >= '0' && str.charAt(i) <= '9') {
Int++;
} else if ((str.charAt(i) >= 'a' && str.charAt(i) <= 'z')
|| (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z')) {
Cha++;
} else {
Other++;
}
}
System.out.println("字母:" + Cha);
System.out.println("数字:" + Int);
System.out.println("其他字符:" + Other);
}
}
7.定义一个ArrayList集合对象,往其中添加随机产生的0~10之间的发咯at类型数据,共添加10个,并打印输出该集合对象中每个元素的值
package test;
import java.util.ArrayList;
import java.util.Iterator;
public class Array {
public static void main(String[] args) {
ArrayList list = new ArrayList();
for(int i=0;i<10;i++) {
list.add(i,(float)Math.random()*10);
}
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i));//两种不同的遍历方式
}
System.out.println("______________");
Iterator it = list.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
}
}
8.文件的读写