Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 关于使GUI程序成为exe文件。。。。(爪哇)_Java_Swing_File_Executable_Embedded Resource - Fatal编程技术网

Java 关于使GUI程序成为exe文件。。。。(爪哇)

Java 关于使GUI程序成为exe文件。。。。(爪哇),java,swing,file,executable,embedded-resource,Java,Swing,File,Executable,Embedded Resource,我最近做了一个随机句子生成器。它读取两个文件(一个名词和一个动词文件),并使用文件中的两个名词作为主语和宾语,中间有一个动词。它作为一个java文件工作,但当我遵循Wiki教程如何将其转换为exe文件(link-)时,该程序将运行,但标签不会按规定更改。我有名词和动词文本文件在同一个文件夹作为exe文件,所以我不明白我的错在哪里。非常感谢您的帮助 谢谢, 北极海象 import java.util.Scanner; import java.io.*; import java.awt.*; imp

我最近做了一个随机句子生成器。它读取两个文件(一个名词和一个动词文件),并使用文件中的两个名词作为主语和宾语,中间有一个动词。它作为一个java文件工作,但当我遵循Wiki教程如何将其转换为exe文件(link-)时,该程序将运行,但标签不会按规定更改。我有名词和动词文本文件在同一个文件夹作为exe文件,所以我不明白我的错在哪里。非常感谢您的帮助

谢谢, 北极海象

import java.util.Scanner;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.Random;
import javax.swing.*;
import java.nio.charset.Charset;
import java.nio.file.*;


public class HelloWorld {

public static void main(String[] args) {

    JFrame sentenceFrame = new JFrame("Ayy Lmao");
    JLabel subjectLabel = new JLabel();
    subjectLabel.setHorizontalAlignment(JLabel.CENTER);
    subjectLabel.setText("Have fun and have a dirty, dirty mind");
    String defaultTextField = "Enter a word here!";
    JTextField inputField = new JTextField(defaultTextField);

    sentenceFrame.setLayout(new GridLayout(4,1));

    String[] optionList = {"Subject", "Verb", "Object"};
    JComboBox optionBox = new JComboBox(optionList);

    optionBox.setSelectedIndex(2);
    class ComboListener implements ActionListener{
        public void actionPerformed(ActionEvent e){
            JComboBox cb = (JComboBox)e.getSource();
            String selectedOption = (String)cb.getSelectedItem();
        }
    }

    ActionListener comboListener = new ComboListener();
    optionBox.addActionListener(comboListener);





    //sentencePanel.setLayout(new BorderLayout);
    sentenceFrame.setBackground(Color.MAGENTA);

    JButton createSentenceButton = new JButton("CREATE!");


    sentenceFrame.add(subjectLabel);
    sentenceFrame.add(inputField);
    sentenceFrame.add(optionBox);
    sentenceFrame.add(createSentenceButton);



    class ButtonListener implements ActionListener{
        public void actionPerformed(ActionEvent event){
            String subject;
            String verb;
            String object;
            if (inputField.getText().equals("") || inputField.getText().equals(defaultTextField)){
                String subjectNoun = findNoun();
                subject = subjectNoun.substring(0, 1).toUpperCase() + subjectNoun.substring(1, subjectNoun.length());
                verb = findVerb();
                object = findNoun();
                subjectLabel.setText(subject + " " + verb + " " + object + ".");
            }

            else{
                if(optionBox.getSelectedItem().equals("Subject")){
                    subject = inputField.getText().substring(0,1).toUpperCase() + inputField.getText().substring(1, inputField.getText().length());
                    verb = findVerb();
                    object = findNoun();
                    subjectLabel.setText(subject + " " + verb + " " + object + ".");
                }
                if(optionBox.getSelectedItem().equals("Verb")){
                    subject = findNoun();
                    subject.substring(0, 1).toUpperCase();
                    verb = inputField.getText();
                    object = findNoun();
                    subjectLabel.setText(subject + " " + verb + " " + object + ".");
                }
                if (optionBox.getSelectedItem().equals("Object")){
                    subject = findNoun();
                    subject.substring(0, 1).toUpperCase();
                    verb = findVerb();
                    object = inputField.getText();
                    subjectLabel.setText(subject + " " + verb + " " + object + ".");
                }
            }


        }
    }

    ActionListener listener1 = new ButtonListener();

    createSentenceButton.addActionListener(listener1);


    sentenceFrame.setSize(500, 200);
    sentenceFrame.setVisible(true);
    sentenceFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static String findNoun(){
    /* // The name of the file to open.
    String fileName = "temp.txt";

    // This will reference one line at a time
    String line = null;

    try {
        // FileReader reads text files in the default encoding.
        FileReader fileReader = 
            new FileReader(fileName);

        // Always wrap FileReader in BufferedReader.
        BufferedReader bufferedReader = 
            new BufferedReader(fileReader);

        while((line = bufferedReader.readLine()) != null) {
            System.out.println(line);
        }    

        // Always close files.
        bufferedReader.close();            
    }
    catch(FileNotFoundException ex) {
        System.out.println(
            "Unable to open file '" + 
            fileName + "'");                
    }
    catch(IOException ex) {
        System.out.println(
            "Error reading file '" 
            + fileName + "'");                   
        // Or we could just do this: 
        // ex.printStackTrace();
    */
    Random random = new Random();

    String fileName = "src/Nouns.txt";

    String line = null;

    //int numNouns = 0;
    ArrayList<String> nounsArrayList = new ArrayList<String>();

    try {
        FileReader fileReader = new FileReader(fileName);
        BufferedReader bufferedReader = new BufferedReader(fileReader);

        while((line = bufferedReader.readLine()) != null){
            //System.out.println(line);
            //numNouns++;
            nounsArrayList.add(line);

        }
        bufferedReader.close();
    } catch(FileNotFoundException ex){
        System.out.println("ERROR- Unable to open file '" + fileName + "'");
        }
      catch(IOException ex) {
          System.out.println("Error reading file '" + fileName + "'");
      }

    int randomNounNum = random.nextInt(nounsArrayList.size() - 1);
    return nounsArrayList.get(randomNounNum);

    }

public static String findVerb(){
    Random random = new Random();

    String fileName = "src/Verbs.txt";

    String line = null;

    //int numNouns = 0;
    ArrayList<String> verbsArrayList = new ArrayList<String>();

    try {
        FileReader fileReader = new FileReader(fileName);
        BufferedReader bufferedReader = new BufferedReader(fileReader);

        while((line = bufferedReader.readLine()) != null){
            //System.out.println(line);
            //numNouns++;
            verbsArrayList.add(line);

        }
        bufferedReader.close();
    } catch(FileNotFoundException ex){
        System.out.println("ERROR- Unable to open file '" + fileName + "'");
        }
      catch(IOException ex) {
          System.out.println("Error reading file '" + fileName + "'");
      }

    int randomVerbNum = random.nextInt(verbsArrayList.size() - 1);
    return verbsArrayList.get(randomVerbNum);

    }
import java.util.Scanner;
导入java.io.*;
导入java.awt.*;
导入java.awt.event.*;
导入java.util.ArrayList;
导入java.util.Random;
导入javax.swing.*;
导入java.nio.charset.charset;
导入java.nio.file.*;
公共类HelloWorld{
公共静态void main(字符串[]args){
JFrame sentenceFrame=新JFrame(“Ayy Lmao”);
JLabel subjectLabel=新的JLabel();
subjectLabel.setHorizontalAlignment(JLabel.CENTER);
subjectLabel.setText(“玩得开心,有一个肮脏、肮脏的头脑”);
String defaultTextField=“在此处输入单词!”;
JTextField inputField=新的JTextField(defaultTextField);
setLayout(新的GridLayout(4,1));
String[]optionList={“主语”、“动词”、“宾语”};
JComboBox optionBox=新的JComboBox(选项列表);
optionBox.setSelectedIndex(2);
类ComboListener实现ActionListener{
已执行的公共无效操作(操作事件e){
JComboBox cb=(JComboBox)e.getSource();
String selectedOption=(String)cb.getSelectedItem();
}
}
ActionListener comboListener=新建comboListener();
optionBox.addActionListener(comboListener);
//sentencePanel.setLayout(新边框布局);
句子框架.背景(颜色.洋红色);
JButton createSentenceButton=新建JButton(“创建!”);
句子框架。添加(主题标签);
sentenceFrame.add(输入字段);
sentenceFrame.add(选项框);
添加(createSentenceButton);
类ButtonListener实现ActionListener{
已执行的公共无效操作(操作事件){
字符串主题;
字符串动词;
字符串对象;
if(inputField.getText().equals(“”| | inputField.getText().equals(defaultTextField)){
字符串subjectNoun=findNoun();
subject=subjectNoun.substring(0,1.toUpperCase()+subjectNoun.substring(1,subjectNoun.length());
动词=findVerb();
object=findNoun();
subjectLabel.setText(主语+动词+宾语+);
}
否则{
if(optionBox.getSelectedItem().equals(“主题”)){
subject=inputField.getText().substring(0,1).toUpperCase()+inputField.getText().substring(1,inputField.getText().length());
动词=findVerb();
object=findNoun();
subjectLabel.setText(主语+动词+宾语+);
}
if(optionBox.getSelectedItem().equals(“动词”)){
subject=findNoun();
subject.substring(0,1).toUpperCase();
动词=inputField.getText();
object=findNoun();
subjectLabel.setText(主语+动词+宾语+);
}
if(optionBox.getSelectedItem().equals(“对象”)){
subject=findNoun();
subject.substring(0,1).toUpperCase();
动词=findVerb();
object=inputField.getText();
subjectLabel.setText(主语+动词+宾语+);
}
}
}
}
ActionListener listener1=新建按钮Listener();
createSentenceButton.addActionListener(listener1);
句子框架设置大小(500200);
sentenceFrame.setVisible(true);
sentenceFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
公共静态字符串findNoun(){
/*//要打开的文件的名称。
字符串fileName=“temp.txt”;
//这将一次引用一行
字符串行=null;
试一试{
//FileReader以默认编码读取文本文件。
文件读取器文件读取器=
新文件阅读器(文件名);
//始终将文件读取器包装在BufferedReader中。
BufferedReader BufferedReader=
新的BufferedReader(文件阅读器);
而((line=bufferedReader.readLine())!=null){
系统输出打印项次(行);
}    
//始终关闭文件。
bufferedReader.close();
}
捕获(FileNotFoundException ex){
System.out.println(
“无法打开文件”“+
文件名+“'”;
}
捕获(IOEX异常){
System.out.println(
“读取文件“”时出错”
+文件名+“'”;
//或者我们可以这样做:
//例如printStackTrace();
*/
随机=新随机();
字符串fileName=“src/nomes.txt”;
字符串行=null;
//int numNouns=0;
ArrayList nounsArrayList=新的ArrayList();
试一试{
FileReader FileReader=新的FileReader(文件名);
BufferedReader BufferedReader=新的BufferedReader(文件阅读器);
而((line=bufferedReader.readLine())!=null){
//系统输出打印项次(行);
//numNouns++;
名词数组列表。添加(行);
}
bufferedReader.close();
}捕获(FileNotFoundException ex){
System.out.println(“错误-无法打开文件“”+fileName+”);
}
捕获(IOEX异常){
System.out.println(“读取文件“+”文件名“+”时出错”);
}
int randomNounNum=random.nextInt(nounsArrayList.size()-1);
返回nounsArrayList.get(randomNounNum);
}
公共静态Stri
FileReader fileReader = new FileReader(fileName);
BufferedReader bufferedReader = new BufferedReader(fileReader);