残念ながら、メイン プログラム ウィンドウ (オブジェクト g) で段階的な出力を行うことはできません。
メインクラスの一部:
/* Create a main window of GUI*/
Gui g = new Gui();
g.showitself(); /*object is shown on the screen*/
/*Check folder existing*/
boolean inOutFilesFolderExists = (new File(vars.diskLetter+"//"+vars.ppmRootFolder+"//"+vars.inOutFilesFolder).exists());
if (inOutFilesFolderExists)
{
System.out.println("Folder exists."); /*it is just for understanding if-operator works*/
String textMessage = "\n"+"Folder " + vars.diskLetter+"//"+vars.ppmRootFolder+"//"+vars.inOutFilesFolder + "exists."+"\n" ; /*the message that I want to show in the main screen*/
g.printmessage(logCurDateTime, textMessage); /*I am trying to show textMessage in the main GUI window by this method - g.printmessage */
}
else
{ System.out.println("Folder doesn’t exists.");
String textMessage = "Folder " + vars.diskLetter+"//"+vars.ppmRootFolder+"//"+vars.inOutFilesFolder + " doesn’t exist and will be created." ;
g.printmessage(logCurDateTime, textMessage);
new File(vars.diskLetter+"//"+vars.ppmRootFolder+"//"+vars.inOutFilesFolder).mkdirs();
}
/** Now I am trying to create a new text message that should follow after previous text message */
String textMessage = "Hello, Java Log.";
// get to g object variables for showing
g.printmessage(logCurDateTime, textMessage);
GUI クラス:
public class Gui {
Border solidBorder = BorderFactory.createLineBorder(Color.GRAY, 6);
Font font = new Font("Verdana", Font.PLAIN, 12);
//method which shows the main window of GUI
JFrame main_Window = new JFrame("PPM v.2.0");
public void showitself ()
{
main_Window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
main_Window.setSize(800, 400);
main_Window.setVisible(true);
}
/*This method should show messages from main class */
void printmessage (String logCurDateTime, String textMessage)
{
JLabel label = new JLabel(" " + logCurDateTime + " - " + textMessage +"\n");
main_Window.getContentPane().add(label);
}
}
その結果、最後のメッセージ「Hello, Java Log.」のみを含む GUI メイン画面が表示されます。私が理解しているように、前のメッセージが次のメッセージによって書き換えられることを意味しますが、次のようなメッセージのシリアル出力 (メッセージごとのメッセージ) が必要です。
logCurDateTime - フォルダーが存在します。(またはフォルダが存在しないため、作成されます。)
logCurDateTime - 「こんにちは、Java ログ。」
また、(eclipse.swt
ライブラリを使用して)printmessageメソッドを次のように再コーディングしようとしています
void printmessage (String logCurDateTime, String textMessage)
{
JTextArea mainTextArea = new JTextArea();
mainTextArea.append(logCurDateTime + textMessage +"/n");
}
しかし、それは役に立ちません (メッセージはまったくありません)。
メインクラスからのメッセージを1つずつ表示するコードを作成するには?