小编Dar*_*ius的帖子

JTextArea/JTextComponent setText导致崩溃

我是Java的新手,尤其是Swing库.当我尝试使用Notepad演示(来自JDK的标准演示)时,我在编辑器窗口中尝试更改文本时遇到了崩溃.我的示例代码:

void Filter(Component f){
  if (f instanceof JTextComponent){
    JTextComponent textComponent = (JTextComponent) f;
    textComponent.setVisible(false); //Works
    textComponent.setVisible(true); //Works
    textComponent.getText(); //Works
    textComponent.updateUI(); //Works
    textComponent.setText("Hello world!"); //Crashes
  }else{
    RecursiveGet(f);
  }
}
void RecursiveGet(Component c){
  for (Component f : ((JComponent) c).getComponents()) {
    if (f instanceof JComponent) {
      Filter(f);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我搜索了JTextComponent实例,直到找到它然后测试了一些方法.我想我错过了一些东西,一些细节.我的环境JDK 1.7,JRE 7.0,Win7 x64.我很乐意得到任何帮助.谢谢.

更新 我添加了异常处理程序

void Filter(Component f){
        if (f instanceof JTextComponent){
            JTextComponent textComponent = (JTextComponent) f;
            textComponent.setVisible(false);  //Work
            textComponent.setVisible(true);  //Work
            textComponent.getText();  //Work
            textComponent.updateUI(); //Work
            try {
            textComponent.setText("Hello world!"); //Crash …
Run Code Online (Sandbox Code Playgroud)

java swing settext

5
推荐指数
1
解决办法
1328
查看次数

模块base64.decode产生损坏的pdf base64编码文件

你好,当我尝试解码像这样的图像

"example_label.b64"文件在这里(http://ge.tt/27odGly/v/0)

我看到损坏的pdf,看起来像base64解码损坏了这个文件.

你能帮助我吗?

这里是代码示例.

import base64
with open('example_label.b64','r+') as f:
    data = f.read()
    f.close()
# data = data.decode('base64')
#or
data = base64.b64decode(data)
with open('example_label.pdf','w+') as f:
    f.write(data)
    f.close()
Run Code Online (Sandbox Code Playgroud)

谢谢.

python base64

3
推荐指数
1
解决办法
1980
查看次数

标签 统计

base64 ×1

java ×1

python ×1

settext ×1

swing ×1