作爲初學者的Java程序員,我想了解一些幫助以瞭解爲我的控制檯應用程序構建搖擺UI的最佳方式或技巧。將控制檯應用程序轉換爲搖擺應用程序
控制檯應用程序運行良好,現在我想將其轉換爲搖擺應用程序。我想在JScrollPane中有一個JTextArea的swing,用戶可以通過編輯來輸入它們的字符串,然後點擊一個countwords按鈕並獲得一個int輸出。
我的控制檯應用程序的代碼和我對swing應用程序的嘗試也在下面。我花了相當多的時間來研究這個問題,但我似乎無法做到。
我將不勝感激任何幫助和建議......感謝先進!
我的控制檯應用程序:
import java.util.*;
public class WordCounter{
public static void main(String args[])
{
// Create Scanner object
Scanner s=new Scanner(System.in);
// Read a string
String st=s.nextLine();
//Split string with space
String words[]=st.trim().split(" ");
System.out.println("No. of words "+words.length);
}
}
我企圖在鞦韆:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.JTextArea;
import java.util.*;
class Countswords extends JPanel {
public Countswords() {
myTextArea();
}
private void myTextArea() {
this.setLayout(new BorderLayout());
this.setPreferredSize(new Dimension(400, 200));
JTextArea textArea = new JTextArea(5, 40);
JScrollPane scrollPane = new JScrollPane(textArea);
// textArea.setEditable(true);
JTextArea.setText(userInput);
}
public static void showFrame() {
JPanel panel = new Countswords();
panel.setOpaque(true);
JFrame frame = new JFrame("My Text Area");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(panel);
frame.pack();
frame.setVisible(true);
}
public static void main(String args[]) {
// Create Scanner object
// Scanner s=new Scanner(System.in);
// Read a string
// String st=s.nextLine();
// Split string with space
// String words[]=st.trim().split(" ");
// System.out.println("No. of words "+words.length);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
Countswords.showFrame();
}
});
}
}
一般認爲你不能'轉換'一個應用程序。從基於命令行到基於GUI。它需要一個完全不同的方法,只是「太寬泛」,不能在SO答案中解釋。請參閱Java教程的[使用JFC/Swing創建GUI](http://docs.oracle.com/javase/tutorial/uiswing/)瞭解如何創建GUI。 –
*「我在Swing的嘗試」*所以......它有什麼問題?你卡在哪裏? –
'this.setPreferredSize(new Dimension(400,200));'請參閱[我應該避免使用Java Swing中的set(Preferred | Maximum | Minimum)Size方法?](http://stackoverflow.com/q/ 7229226/418556)(是) –