请帮忙做下如下的功能

bryanscn 2006-04-10 03:44:40
开发一种能对文本中的一段进行简单统计计算的工具。该程序应该有一个滚动文本块窗口和一个状态栏的窗口。这个窗口应该是一个边界被标明的面板,拥有可以显示文本窗口里的字词数量和单个字长度的标记区段,你也可以对其他方面进行统计。这状态栏应该有一个按钮,当你按这按钮时,文本的内容将被从新统计。
除了字与字之间的空白处外,在文本格式中只能使用的标点符号是逗号和句号。
应该只是简单的字数统计与输入校验,因为我不太会用swing做,所以第一次做出来的排版相当难看...
只要能实现以上功能,并且界面表太难看,马上结帖给分!

或者能提供该SWING界面的简单操作方法也行~~~~

做好后发到arthur_yu@263.net信箱,时间较紧~KKK
分数不够,继续开贴加~~总共200分~
...全文
205 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
boydream 2006-04-11
  • 打赏
  • 举报
回复
Study~~~
bryanscn 2006-04-11
  • 打赏
  • 举报
回复
其实就是一个文本框,一个按钮,一个LABEL
文本框里有输入限制,只能输入字母,逗号与句号
然后点下按钮,统计里面一共有多少字,用LABEL显示

只是现在的swing界面是十字格分的,太难看了...谁能提供上面代码的话立马放分啊~~
bryanscn 2006-04-11
  • 打赏
  • 举报
回复
哦~~让我看下先
初始的窗口太小了,能不能放大点呢?比如600,400那样大的
UnAgain 2006-04-11
  • 打赏
  • 举报
回复
别忙着结贴,我再完善一下。

刚才的怎么样?你顶一下,否则我不能发言了(3次)。
UnAgain 2006-04-11
  • 打赏
  • 举报
回复
加分

package tl.exercise.text;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;

import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.border.BevelBorder;
import javax.swing.border.EmptyBorder;
import javax.swing.border.SoftBevelBorder;

public class StatTextPane extends JPanel {
public static void main(String[] args) {
JFrame fr = new JFrame();
fr.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);

fr.getContentPane().add(new StatTextPane());
fr.setPreferredSize(
new Dimension(300, 200));

fr.pack();

fr.setLocation(300, 300);
fr.setVisible(true);
}

protected PlainTextPane editor;
protected StatusBar statusBar;
public StatTextPane () {
setLayout(new BorderLayout());
// setBorder(
// new BevelBorder(BevelBorder.LOWERED));
// setBorder(
// new LineBorder(Color.GRAY));

editor = new PlainTextPane();
statusBar = new StatusBar();

add(
new JScrollPane(
editor,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED),
BorderLayout.CENTER);
add(statusBar, BorderLayout.PAGE_END);

statusBar.addIndicator(new JLabel("Hello"));
statusBar.addIndicator(new JLabel("Good"));
statusBar.addIndicator(new JButton("haha"));
}
}


class PlainTextPane extends JTextArea {
public PlainTextPane() {
setBorder(
new BevelBorder(BevelBorder.LOWERED));
}
}

class StatusBar extends JPanel {
JPanel workspace;
JComponent notice;
public StatusBar() {
workspace = new JPanel();
workspace.setLayout(
new BoxLayout(workspace, BoxLayout.LINE_AXIS));
//setLayout(new BorderLayout());
//workspace.setMinimumSize(new Dimension(200, 50));
//workspace.setAlignmentX(JComponent.RIGHT_ALIGNMENT);

workspace.add(Box.createRigidArea(new Dimension(0, 20)) );
// notice = (JComponent)Box.createHorizontalGlue();

notice = new JComponent() {
public Dimension getMinimumSize() {
return new Dimension(50, 20);
}
};
notice.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));
workspace.add(notice);
//workspace.add(Box.createRigidArea(new Dimension(10, 0)) );
//workspace.setBorder(new BevelBorder(BevelBorder.LOWERED));
workspace.setBackground(Color.LIGHT_GRAY);
setLayout(new BorderLayout());
add(workspace, BorderLayout.CENTER);
setBorder(new EmptyBorder(2,2,2,2));
setBackground(Color.LIGHT_GRAY);
//add(new JLabel(), BorderLayout.PAGE_END);
}

public void addIndicator(JComponent comp) {
comp.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));
//comp.setBorder(new LineBorder(Color.GRAY));
workspace.add(Box.createRigidArea(new Dimension(2,0)));
workspace.add(comp);
}
}
UnAgain 2006-04-11
  • 打赏
  • 举报
回复
你等着,没想到会这么麻烦
bryanscn 2006-04-11
  • 打赏
  • 举报
回复
赞的~~不过按钮呢?再放个按钮上去啦,我就是按钮放上去后变成田字型的布局了
UnAgain 2006-04-11
  • 打赏
  • 举报
回复
还行吧?

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.border.BevelBorder;
import javax.swing.border.LineBorder;

public class StatTextPane extends JPanel {
public static void main(String[] args) {
JFrame fr = new JFrame();
fr.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);

fr.getContentPane().add(new StatTextPane());
fr.setPreferredSize(
new Dimension(300, 200));

fr.pack();
fr.setVisible(true);
}

protected PlainTextPane editor;
protected StatusBar statusBar;
public StatTextPane () {
setLayout(new BorderLayout());
setBorder(
new BevelBorder(BevelBorder.LOWERED));

editor = new PlainTextPane();
statusBar = new StatusBar();

add(
new JScrollPane(
editor,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED),
BorderLayout.CENTER);
add(statusBar, BorderLayout.PAGE_END);
}
}


class PlainTextPane extends JTextArea {
public PlainTextPane() {
// setBorder(
// new LineBorder(Color.GRAY));
}
}

class StatusBar extends JPanel {
public StatusBar() {
}
}
bryanscn 2006-04-11
  • 打赏
  • 举报
回复
哦哦~~我现在是用JTextArea,反正只要.length就行了~:)然后在INPUT时候加个校验,唉~~做出来界面奇丑,不忍了..不过只要一个JAVA文件就能搞定的说
wizardblue 2006-04-11
  • 打赏
  • 举报
回复
好像有一个叫richedit的java的开源包
名字我记不太清了,反正就叫什么edit的,你自己去找找
UnAgain 2006-04-11
  • 打赏
  • 举报
回复
好,我写写试试
bryanscn 2006-04-11
  • 打赏
  • 举报
回复
okay~~不过大小似乎是根据JTextArea的,我又设了下TextArea的cols rows才能改变大小... 否则只有很小一条~~接分~~我再开一贴+100分给你~~麻烦再贴下注释实现逻辑~~好让我学习下~~谢谢!
benewu 2006-04-11
  • 打赏
  • 举报
回复
NetBeans5.0做界面蛮漂亮的
UnAgain 2006-04-11
  • 打赏
  • 举报
回复
public class StatTextPane extends JPanel {
public static void main(String[] args) {
JFrame fr = new JFrame();
...
//如果加大,修改这句。
//fr.setPreferredSize(
// new Dimension(300, 200));
fr.setPreferredSize(
new Dimension(640, 480));

fr.pack();

// 居中显示
Dimension screen =
java.awt.Toolkit.getDefaultToolkit().getScreenSize();
fr.setLocation(
(screen.width - fr.getWidth()) / 2,
(screen.height - fr.getHeight()) / 2);

fr.setVisible(true);
}
UnAgain 2006-04-10
  • 打赏
  • 举报
回复
"单个字长度的标记区段"是什么意思?

“单个字长度”是指最长的单词的长度吗?
ljdam 2006-04-10
  • 打赏
  • 举报
回复
建议楼主试试NetBeans5.0
bryanscn 2006-04-10
  • 打赏
  • 举报
回复
...其实基本功能实现了,但SWING这里我做不好~~所以只要界面就行了的
UnAgain 2006-04-10
  • 打赏
  • 举报
回复
200元怎么样?
bgceft 2006-04-10
  • 打赏
  • 举报
回复
帮你顶下
这个有点难
我水平有限
对不起

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧