使用Eclipse用WindowBuilder进行GUI可视化编程,在中间遇到了一个小小的问题,希望大神可以给我点建议?

soncho 2017-08-18 09:21:55
才刚刚学习java的GUI编程,是使用建立如下图

就是在文本框输入文件目录,然后在下面的文本区域列出所有的文件。


package com.swing.demo;

import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class MyWindow {

private JFrame frame;
private JTextField textField;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MyWindow window = new MyWindow();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the application.
*/
public MyWindow() {
initialize();
}

/**
* Initialize the contents of the frame.
*/
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 872, 611);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);

textField = new JTextField();
textField.setBounds(44, 41, 589, 52);
frame.getContentPane().add(textField);
textField.setColumns(10);

JButton btnNewButton = new JButton("\u8F6C\u5230");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {

/*
* 通过点击按钮获取文件框中的内容
* 将目录中的内容显示在文本区域中
*
*/

String dir_str = textField.getText();
File dir = new File(dir_str);

if(dir.exists() && dir.isDirectory()) {
String[] names = dir.list();

for(String name :names) {
textArea.append(name);
}

}


}
});
btnNewButton.setBounds(669, 41, 113, 52);
frame.getContentPane().add(btnNewButton);

JTextArea textArea = new JTextArea();
textArea.setBounds(40, 133, 720, 360);
frame.getContentPane().add(textArea);
}
}



通过windowBuilder软件自动化建立如上代码 。
在写入btnNewButton事件的监听时候,发现在调用文本区域的JTextArea时,如下图。五十九行到七十二行是自己写的,发生了错误,其他为系统生成

发现不能调用。希望大神可以给我解释一下下。自己感觉是内部类的调用问题,但是一时找不到头脑,希望能得到帮助。谢谢
...全文
1029 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
stacksoverflow 2019-12-26
  • 打赏
  • 举报
回复
83-85行放到56行上面。
qq_39936465 2019-12-26
  • 打赏
  • 举报
回复
引用 楼主 soncho 的回复:
才刚刚学习java的GUI编程,是使用建立如下图 就是在文本框输入文件目录,然后在下面的文本区域列出所有的文件。 通过windowBuilder软件自动化建立如上代码 。 在写入btnNewButton事件的监听时候,发现在调用文本区域的JTextArea时,如下图。五十九行到七十二行是自己写的,发生了错误,其他为系统生成 发现不能调用。希望大神可以给我解释一下下。自己感觉是内部类的调用问题,但是一时找不到头脑,希望能得到帮助。谢谢
先申明再使用,把申明放前面。
LINSIPO 2019-12-26
  • 打赏
  • 举报
回复
求问解决了吗?我在调用系统类的时候进入WB的design界面可以预览,写了自己的类后没有报错,但是之后就进不去design界面了,删除这个类又可以进入。 windowbuild was not able to show GUI…… Internal Error WindowBuilder encountered unexpected internal error. This could be caused by a WindowBuilder bug or by a misconfiguration issue, conflict, partial update, etc. java.lang.Error: new JTextField() Show stack trace. Hide stack trace.
Timor_D 2017-09-13
  • 打赏
  • 举报
回复
声明为成员变量试试

62,628

社区成员

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

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