java的gui实现小说阅读
Ⅰ JAVA GUI如何实现按一下按钮读取一行文本显示在界面上
LineText //代表(最后)读取的一行文本
DiDian.setText(LineText);//把最后一把文本"设置"为文本组件的内容
问题就出现在:
在while循环里 ,每一次都会使用最后一行代码来替换 文本组件的内容; 所以文本组件只会显示最后一行的内容
解决办法[推荐的方法]:
StringBuildersb=newStringBuilder();
while((LineText=BR.readLine())!=null){
sb.append(LineText);//把每一行都保存到StringBuilder
sb.append(" ");//如果每一行都需要换行,那么把每一行后面都加上一个换行符
}
//读取完了,才设置文本组件的文字
DiDian.setText(sb.toString);
最后建议 :
JTextArea文本组件说明
JTextAreajta=newJTextArea();//文本域组件,可以调用append方法,追加文字
jta.append(LineText+" ");//但是频繁的追加文本,是不推荐的操作,导致性能降低.
//建议还是使用StringBuilder或者StringBuffer来连接字符串
JTextField / JTextPane文本组件的说明
JTextPanejtp=newJTextPane();
jtp.setText(jtp.getText()+LineText+" ");//可以在调用setText的时候,
//先getText获取之前文本,在添加上新的文本
Ⅱ java中GUI的实现方式是
其实无论在什么平台下,GUI应用程序的基本开发方法都是相似的。一般都包括下面这样四个步骤:
①创建容器
首先要创建一个GUI应用程序,需要创建一个用于容纳所有其它GUI组件元素的载体,Java中称为容器。典型的包括窗口(Window)、框架(Frame/JFrame)、对话框(Dialog/JDialog)、面板(Panel/JPanel)等。只有先创建了这些容器,其它界面元素如按钮(Button/JButton)、标签(Label/JLabel)、文本框(TextField/JTextField)等才有地方放。 ②添加组件
为了实现GUI应用程序的功能,为了与用户交换,需要在容器上添加各种组件/控件。这需要根据具体的功能要求来决定用什么组件。例如,如果需要提示信息,可用标签(Label/JLabel);如果需要输入少量文本,可用文本框(TextField/JTextField);如果需要输入较多文本,可用文本区域(TextArea/JTextArea);如果需要输入密码,可用密码域(JPasswordField)等等。
③安排组件
与传统的Windows环境下的GUI软件开发工具不同,为了更好地实现跨平台,Java程序中各组件的位置、大小一般不是以绝对量来衡量,而是以相对量来衡量。例如有时候,程序的组件的位置是按"东/East"、"西/West"、"南/South"、"北/North"、"中 /Center"这种方位来标识的。因此,在组织界面时,除了要考虑所需的组件种类外,还需要考虑如何安排这些组件的位置与大小。这一般是通过设置布局管理器(Layout Manager)及其相关属性来实现的。事实上上述按方位来安排组件就是采用了Java中多种布局管理器里的BorderLayout布局管理器。
④处理事件
为了完成一个GUI应用程序所应具备的功能,除了适当地安排各种组件产生美观的界面外,还需要处理各种界面元素事件,以便真正实现与用户的交换,完成程序的功能。在Java程序中这一般是通过实现适当的事件监听者接口来完成的。比如如果需要响应按钮事件,就需要实现 ActionListener监听者接口;如果需要响应窗口事件,就需要实现WindowListener监听者接口。
Ⅲ 用java编程实现GUI界面,包括文本域、文本框、按钮等相关功能,实现模拟登陆验证功能。
importjava.awt.FlowLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JTextArea;
importjavax.swing.JTextField;
publicclassDemoextendsJFrame{
Stringusername;
Stringpassword;
publicDemo(){
username="java";
password="123";
setTitle("#####");
setSize(400,300);
setLocation(400,200);
setLayout(newFlowLayout());
JTextAreajta=newJTextArea(4,30);
jta.setText("请输入用户名密码: 用户名:"+username+" 密码:"+password);
jta.setEditable(false);//设置文本区域不可编辑
add(jta);
JLabelusernameLabel=newJLabel("用户名:");
finalJTextFielsernameText=newJTextField(10);
add(usernameLabel);
add(usernameText);
JLabelpasswordLabel=newJLabel("密码:");
finalJTextFieldpasswordText=newJTextField(10);
add(passwordLabel);
add(passwordText);
JButtonbutton=newJButton("登录");
add(button);
finalJLabelresult=newJLabel();//用来显示登录结果
add(result);
button.addActionListener(newActionListener(){//登录按钮事件
@Override
publicvoidactionPerformed(ActionEvente){
//获取输入的用户名密码
StringtempUserName=usernameText.getText();
StringtempPassWord=passwordText.getText();
if(tempUserName.equals(username)&&tempPassWord.equals(password)){
result.setText("登录成功");
}else{
result.setText("登录失败");
}
}
});
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
publicstaticvoidmain(String[]args){
newDemo();
}
}
Ⅳ Java实现GUI编程基本方法都有那些
其实无论在什么平台下,GUI应用程序的基本开发方法都是相似的。一般都包括下面这样四个步骤:
①创建容器
首先要创建一个GUI应用程序,需要创建一个用于容纳所有其它GUI组件元素的载体,Java中称为容器。典型的包括窗口(Window)、框架(Frame/JFrame)、对话框(Dialog/JDialog)、面板(Panel/JPanel)等。只有先创建了这些容器,其它界面元素如按钮(Button/JButton)、标签(Label/JLabel)、文本框(TextField/JTextField)等才有地方放。
②添加组件
为了实现GUI应用程序的功能,为了与用户交换,需要在容器上添加各种组件/控件。这需要根据具体的功能要求来决定用什么组件。例如,如果需要提示信息,可用标签(Label/JLabel);如果需要输入少量文本,可用文本框(TextField/JTextField);如果需要输入较多文本,可用文本区域(TextArea/JTextArea);如果需要输入密码,可用密码域(JPasswordField)等等。
③安排组件
与传统的Windows环境下的GUI软件开发工具不同,为了更好地实现跨平台,Java程序中各组件的位置、大小一般不是以绝对量来衡量,而是以相对量来衡量。例如有时候,程序的组件的位置是按"东/East"、"西/West"、"南/South"、"北/North"、"中 /Center"这种方位来标识的。因此,在组织界面时,除了要考虑所需的组件种类外,还需要考虑如何安排这些组件的位置与大小。这一般是通过设置布局管理器(Layout Manager)及其相关属性来实现的。事实上上述按方位来安排组件就是采用了Java中多种布局管理器里的BorderLayout布局管理器。
④处理事件
为了完成一个GUI应用程序所应具备的功能,除了适当地安排各种组件产生美观的界面外,还需要处理各种界面元素事件,以便真正实现与用户的交换,完成程序的功能。在Java程序中这一般是通过实现适当的事件监听者接口来完成的。比如如果需要响应按钮事件,就需要实现 ActionListener监听者接口;如果需要响应窗口事件,就需要实现WindowListener监听者接口。
Ⅳ 用JAVA编写一个GUI记事本程序,实现文本的输入,保存,修改,打开操作
代码如下:
importjava.io.*;
importjava.awt.*;
importjava.awt.event.*;
publicclassjtxtfm{
publicstaticvoidmain(Stringargs[]){
jtxtfrmfm=newjtxtfrm();
}
}
{
FileDialogop,sv;
Buttonbtn1,btn2,btn3;
TextAreatarea;
jtxtfrm(){
super("读写文件");
setLayout(null);
setBackground(Color.cyan);
setSize(600,300);
setVisible(true);
btn1=newButton("打开");
btn2=newButton("保存");
btn3=newButton("关闭");
tarea=newTextArea("");
add(btn1);add(btn2);add(btn3);add(tarea);
tarea.setBounds(30,50,460,220);
btn1.setBounds(520,60,50,30);
btn2.setBounds(520,120,50,30);
btn3.setBounds(520,180,50,30);
op=newFileDialog(this,"打开",FileDialog.LOAD);
sv=newFileDialog(this,"保存",FileDialog.SAVE);
btn1.addActionListener(this);
btn2.addActionListener(this);
btn3.addActionListener(this);
addWindowListener(
newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
setVisible(false);
System.exit(0);
}
}
);
}
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==btn1){
Stringstr;
op.setVisible(true);
try{
Filef1=newFile(op.getDirectory(),op.getFile());
FileReaderfr=newFileReader(f1);
BufferedReaderbr=newBufferedReader(fr);
tarea.setText("");
while((str=br.readLine())!=null)tarea.append(str+' ');
fr.close();
}
catch(Exceptione1)
{}
}
if(e.getSource()==btn2){
sv.setVisible(true);
try{
Filef1=newFile(sv.getDirectory(),sv.getFile());
FileWriterfw=newFileWriter(f1);
BufferedWriterbw=newBufferedWriter(fw);
Stringgt=tarea.getText();
bw.write(gt,0,gt.length());
bw.flush();
fw.close();
}
catch(Exceptione2)
{}
}
if(e.getSource()==btn3){
System.exit(0);
}
}
}
效果图:
Ⅵ 使用java编程,实现一个小说管理器
又看见这种提问,唉。。。
1.明确自己是用什么模式实现,C/S还是B/S 。
个人建议B/S
因为比较多的范例可以参考,技术上也比较容易上手。
2.BS的实现思路
框架就采用Struts和JDBC吧,完全够用。
步骤就是:先建表,再前端,再后台。也可以先前端页面。
1登录、注册比较简单,不涉及权限控制,用户表:用户名、密码(MD5加密)邮箱、性别等等。略过。
2在线小说阅读数据库的建立
小说表:ID、书名、分类、地址(建议把小说内容放在TXT文档中,读取的时候放进Jsp就好,因此这里的地址就是小说在服务器硬盘上的地址)、作者、简介等
分类表: ID 分类名
等
3实现阅读小说
点击某个小说的时候传一个小说的ID到后台,查表,得到小说的地址,用IO读出小说,传回前台,当然建议分页读,以免小说过大,影响效率。
4上传和下载,Struts2可以比较方便的实现,网上例子比较多。
Ⅶ 写一个java GUI界面,有个文本框可输入文本,按个按钮之后输出到文件中
给你写个简单的,参考一下吧
package uni;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class Guiwriter extends JFrame
{
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JLabel l = new JLabel("请输入内容:");
JTextField f = new JTextField();
JButton b = new JButton("执行");
public Guiwriter() //构造方法
{
this.setLayout(new BorderLayout());
p1.setLayout(new GridLayout(3, 2));
p1.add(l);
p1.add(f);
this.add(p1, BorderLayout.NORTH);
p2.add(b, BorderLayout.CENTER);
this.add(p2, BorderLayout.CENTER);
this.setSize(200, 200);
this.setVisible(true);
b.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String str =f.getText();
run(str);
}
});
}
public void run(String str){
String rtnFile1 = "d:/OK.txt";//输出文件路径
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(rtnFile1));
String str1 = str ;
bw.write(str1);
bw.newLine();
bw.flush();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main (String args[]){
new Guiwriter();
}
}
Ⅷ java中利用GUI实现圆,矩形,梯形的面积计算功能。要求使用jtextfield实现交互式输入
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Area extends JFrame {
JTextField HighText, WideText;
JButton Calculate;
JLabel HighLabel, WideLabel;
JLabel MassageLabel;
Area() {
setLayout(new FlowLayout());
WideLabel = new JLabel("矩形长为");
HighLabel = new JLabel("矩形高为");
MassageLabel = new JLabel("请输入矩形的长和宽!");
HighText = new JTextField(10);
WideText = new JTextField(10);
Calculate = new JButton("计算");
setTitle("求矩形面积");
add(WideLabel);
add(WideText);
add(HighLabel);
add(HighText);
add(Calculate);
add(MassageLabel);
setVisible(true);
setSize(200,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Calculate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int area, perimeter;
int high = Integer.parseInt(HighText.getText());
int wide = Integer.parseInt(WideText.getText());
area = high * wide;
perimeter = (high + wide) * 2;
MassageLabel.setText("矩形面积为:" + area + "矩形周长为:" + perimeter);
}
});
}
public static void main(String[] args) {
new Area();
}
}
Ⅸ java编写的GUI 怎么实现查找功能(使用搜索
java编写的GUI 怎么实现查找功能:
package communitys.Connect;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class dxdsy extends JFrame implements ActionListener{
private JButton button = new JButton("搜索");
private JTextField textfile = new JPasswordField("请输入文件名称······");
public dxdsy()
{
this.setLayout(null);
this.setBounds(200,200, 500,500);
textfile.setBounds(1, 1, 100,20);
button.setBounds(1, 25, 80,80);
this.add(button);
this.add(textfile);
button.addActionListener(this);//添加事件监听
this.setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
public void actionPerformed(ActionEvent e) {
String sql = "select * from tablename where 条件 like '%"+textfile.getText()+"%'";
try {
Class.forName("驱动字符");
Connection conn = DriverManager.getConnection("驱动字符");
Statement sta = conn.createStatement();
ResultSet rs = sta.executeQuery(sql);
//这个rs集合当中就是想要的数据
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (SQLException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
}
}