Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2015, 01:51   #1
wane123
Новичок
Джуниор
 
Регистрация: 30.04.2012
Сообщений: 2
Сообщение Software Quality Environment(Java)

Прошу помощи и совета в исправлении исходного кода (Java), при помощи Software Quality Environment.

package simpletexteditor;

import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

class SimpleTextEditor {

JLabel jlabMsg;

JTextArea jta;

JTextField jtfFName;
JTextField jtfFind;

JButton jbtnSave;
JButton jbtnLoad;
JButton jbtnFind;
JButton jbtnFindNext;

int findIdx;

public SimpleTextEditor() {

JFrame jfrm = new JFrame("A Simple Text Editor");
jfrm.getContentPane().setLayout(new FlowLayout());
jfrm.setSize(270, 420);

jfrm.setDefaultCloseOperation(JFram e.EXIT_ON_CLOSE);

jlabMsg = new JLabel();
jlabMsg.setPreferredSize(new Dimension(200, 30));
jlabMsg.setHorizontalAlignment(Swin gConstants.CENTER);

JLabel jlabSeparator = new JLabel();
jlabSeparator.setPreferredSize(new Dimension(200, 30));

JLabel jlabFind = new JLabel("Search For:");
jlabFind.setPreferredSize(new Dimension(70, 20));
jlabFind.setHorizontalAlignment(Swi ngConstants.RIGHT);

JLabel jlabFilename = new JLabel("Filename:");
jlabFilename.setPreferredSize(new Dimension(70, 20));
jlabFilename.setHorizontalAlignment (SwingConstants.RIGHT);

jta = new JTextArea();

JScrollPane jscrlp = new JScrollPane(jta);
jscrlp.setPreferredSize(new Dimension(250, 200));

jtfFName = new JTextField(15);

jta.addCaretListener(new CaretListener() {
public void caretUpdate(CaretEvent ce) {
String str = jta.getText();
jlabMsg.setText("Current size: " + str.length());
findIdx = jta.getCaretPosition();
}
});

jbtnSave = new JButton("Save File");
jbtnLoad = new JButton("Load File");

jbtnSave.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent le) {
save();
}
});

jbtnLoad.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent le) {
load();
}
});

jtfFind = new JTextField(15);

jbtnFind = new JButton("Find From Top");
jbtnFindNext = new JButton("Find Next");

jbtnFind.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent le) {
findIdx = 0;
find(findIdx);
}
});

jbtnFindNext.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent le) {
find(findIdx+1);
}
});

Container cp = jfrm.getContentPane();
cp.add(jscrlp);
cp.add(jlabFind);
cp.add(jtfFind);
cp.add(jbtnFind);
cp.add(jbtnFindNext);
cp.add(jlabSeparator);
cp.add(jlabFilename);
cp.add(jtfFName);
cp.add(jbtnSave);
cp.add(jbtnLoad);
cp.add(jlabMsg);

jfrm.setVisible(true);
}

void save() {
FileWriter fw;
String fname = jtfFName.getText();

if(fname.length() == 0) {
jlabMsg.setText("No filename present.");
return;
}

try {
fw = new FileWriter(fname);
jta.write(fw);
fw.close();
} catch(IOException exc) {
jlabMsg.setText("Error opening or writing file.");
return;
}

jlabMsg.setText("File written sucessfully.");
}

void load() {
FileReader fw;

String fname = jtfFName.getText();

if(fname.length() == 0) {
jlabMsg.setText("No filename present.");
return;
}

try {
fw = new FileReader(fname);
jta.read(fw, null);
fw.close();
} catch(IOException exc) {
jlabMsg.setText("Error opening or reading file.");
return;
}

findIdx = 0;

jlabMsg.setText("File loaded successfully.");
}

void find(int start) {
String str = jta.getText();
String findStr = jtfFind.getText();

int idx = str.indexOf(findStr, start);

if(idx > -1) {
jta.setCaretPosition(idx);
findIdx = idx;
jlabMsg.setText("String found.");
}
else
jlabMsg.setText("String not found.");

jta.requestFocusInWindow();
}

public static void main(String args[]) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new SimpleTextEditor();
}
});
}
}
wane123 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц